Shark

数据智能之多维度分析系统的选型方法

懵懂的女人 提交于 2019-11-29 07:30:57
##引言 前文回顾:《数据智能时代来临:本质及技术体系要求》作为本系列的第一篇文章,概括性地阐述了对于数据智能的理解以及推出了对应的核心技术体系要求: 数据智能就是以数据作为生产资料,通过结合大规模数据处理、数据挖掘、机器学习、人机交互、可视化等多种技术,从大量的数据中提炼、发掘、获取知识,为人们在基于数据制定决策时提供有效的智能支持,减少或者消除不确定性。 从对数据智能的定义来看,数据智能的技术体系至少需要包含几个方面,见下图所示: ▲数据智能技术体系构成 其中数据资产治理、数据质量保证、数据智能下的安全计算体系会在后续的系列文章中重点阐述。 然而最近在实际工作中,发现大家对于如何处理多维数据进行分析以解决实际业务问题方面存在一些实实在在的困扰,特别是对于选择什么样的底层系统无所适从,毕竟有资源给大家进行试验的公司并不是太多。 故此我和团队一起研究,同时也借鉴了外部的一些资料,针对这个议题撰写了本系列的第二篇文章,主要围绕“多维度分析系统的选型方法”的主题,供大家参考,希望能缩短大家的决策时间。 ##正文内容 ###分析系统的考量要素 CAP 理论大家都已经比较熟悉, C.A.P 之间无法兼得,只能有所取舍。在分析系统中同样需要在三个要素间进行取舍和平衡,三要素分别是数据量、灵活性以及性能。 ▲分析系统考量三要素 有的系统在数据量达到一定数量,譬如超过P级别后,在资源不变情况下

大数据(Spark-S3-SparkSQL架构及原理)

半世苍凉 提交于 2019-11-28 22:52:38
Spark SQL的发展 HDFS -> HIVE 由于Hadoop在企业生产中的大量使用,HDFS上积累了大量数据,为了给熟悉RDBMS但又不理解MapReduce的技术人员提供快速上手的工具,Hive应运而生。Hive的原理是将SQL语句翻译成MapReduce计算。 HIVE -> SHARK MapReduce计算过程中大量的中间磁盘落地过程消耗了大量的I/O,降低了运行效率,为了提供SQL-on-Hadoop的效率,Shark出现了。 Shark是伯克利AMPLab实验室Spark生态环境的组件之一,它修改了Hive中的内存管理、物理计划和执行三个模块,使得SQL语句直接运行在Spark上,从而使得SQL查询的速度得到10-100倍的提升。 SHARK -> SPARK SQL 2014年6月1日,Shark项目和SparkSQL项目的主持人Reynold Xin宣布:停止对Shark的开发,团队将所有资源放sparkSQL项目上,至此,Shark的发展画上了句号。 随着Spark的发展,Shark对于Hive的太多依赖制约了Spark的One Stack rule them all的方针,制约了Spark各个组件的相互集成,同时Shark也无法利用Spark的特性进行深度优化,所以决定放弃Shark,提出了SparkSQL项目。 随着Shark的结束

How exactly can I use shark to profile my iPhone app?

瘦欲@ 提交于 2019-11-28 05:06:22
I want to use Shark on OS 10.5 to do some basic profiling of my iPhone game (Open GL ES + Objective C). How exactly can I do this? I've read tutorials but they are too verbose for me after a full day of coding at work and a few hours of iPhone development afterwards. Build app and launch on device Launch Shark From the Shark menu, select Sampling->Network/iPhone Profiling In the Shark window, select the radio button "Control network profiling of shared computers". Select your iPhone in the list and optionally configure the profiling session Press Start to begin profiling, and Stop to end After

hive,shark,sparkSQL,hive on spark,impala,drill比较

我怕爱的太早我们不能终老 提交于 2019-11-27 16:08:07
Hive on Mapreduce Hive的原理大家可以参考这篇 大数据时代的技术hive:hive介绍 ,实际的一些操作可以看这篇 笔记:新手的Hive指南 ,至于还有兴趣看Hive优化方法可以看看我总结的这篇 Hive性能优化上的一些总结 Hive on Mapreduce执行流程 执行流程详细解析 Step 1:UI(user interface) 调用 executeQuery 接口,发送 HQL 查询语句给 Driver Step 2:Driver 为查询语句创建会话句柄,并将查询语句发送给 Compiler, 等待其进行语句解析并生成执行计划 Step 3 and 4:Compiler 从 metastore 获取相关的元数据 Step 5:元数据用于对查询树中的表达式进行类型检查,以及基于查询谓词调整分区,生成计划 Step 6 (6.1,6.2,6.3):由 Compiler 生成的执行计划是阶段性的 DAG,每个阶段都可能会涉及到 Map/Reduce job、元数据的操作、HDFS 文件的操作,Execution Engine 将各个阶段的 DAG 提交给对应的组件执行。 Step 7, 8 and 9:在每个任务(mapper / reducer)中,查询结果会以临时文件的方式存储在 HDFS 中。保存查询结果的临时文件由 Execution Engine