作家
登录

一文读懂大数据计算框架与平台

作者: 来源: 2017-05-04 20:57:39 阅读 我要评论

一些批处理和流寂?娼台如Spark和Flink也分别内置了交互式分析框架。因为SQL已被业界广泛接收,今朝的交互式分析框架都支撑用类似SQL的说话进行萌芽。早期的交互式分析平台建立在Hadoop的基本上,被称作SQL-on-Hadoop。后来的分析平台改用Spark、Storm等引擎,不过SQL-on-Hadoop的称呼照样沿用了下来。SQL-on-Hadoop也指为分布式数据存储供给SQL萌芽功能。

4.2. Hive

Apache Hive是最早出现的架构在Hadoop基本之上的大年夜范围数据仓库,由Facebook设计并开源。Hive的根本思惟是,经由过程定义模式信息,把HDFS中的文件组织成类似传统数据库的存储体系。Hive 保持着 Hadoop 所供给的可扩大性和灵活性。Hive支撑熟悉的关系数据库概念,比如表、列和分区,包含对非构造化数据必定程度的 SQL 支撑。它支撑所有重要的原语类型(如整数、浮点数、字符串)和复杂类型(如字典、列表、构造)。它还支撑应用类似 SQL 的声明性说话 Hive Query Language (HiveQL) 表达的萌芽,任何熟悉 SQL 的人都很轻易懂得它。HiveQL被编译为MapReduce过程履行。下图解释若何经由过程MapReduce实现JOIN和GROUP BY。

MapReduce把map义务生成的数据按商品种类排序。

(1) 实现JOIN

(2) 实现GROUP BY

图11. 部分HiveQL操作的实现方法

Hive与传统关系数据库对比如下:

Hive的重要弱点是因为建立在MapReduce的基本上,机能受到限制。很多交互式分析平台基于对Hive的改进和扩大,包含Stinger、Presto、Kylin等。个中Kylin是中国团队提交到Apache上的项目,其与众不合的处所是供给多维分析(OLAP)才能。Kylin对多维分析可能用到的度量进行估计算,供萌芽时直接拜访,由此供给快速萌芽和高并发才能。Kylin在eBay、百度、京东、网易、美团均有应用。

4.3. SQL引擎Calcite

对于交互式分析,SQL萌芽引擎的好坏对机能的影响举足轻重。Spark开辟了本身的萌芽引擎Catalyst,而包含Hive、Drill、Kylin、Flink在内的很多交互式分析平台及数据仓库应用Calcite(原名optiq)作为SQL引擎。Calcite是一个Apache孵化项目,其创建者Julian Hyde曾是Oracle数据库SQL引擎的重要开辟者。Calcite具有下列几个技巧特点:

支撑标准SQL说话。
支撑OLAP。
支撑对流数据的萌芽。

自力于编程说话和数据源,可以支撑不合的前端和后端。

支撑关系代数、可定制的逻辑筹划规矩和基于成本模型优化的萌芽引擎。

支撑物化视图(materialized view)的治理。

因为分布式场景远比传统的数据存储情况更复杂,Calcite和Catalyst都还处于向Oracle、MySQL等经典关系数据库引擎进修的阶段,在机能优化的门路上还有很长的路要走。

5. 其他类型的框架

除了膳绫擎介绍的几种类型的框架外,还有一些今朝还不太热点但具有重要潜力的框架类型。图计算是DAG之外的另一种迭代式计算模型,它以图论为基本对实际世界建模和计算,善于表达数据之间的接洽关系性,实用于PageRank计算、社交收集分析、推荐体系及机械进修。这一类框架有Google Pregel、Apache Giraph、Apache Hama、PowerGraph、,个中PowerGraph是这一范畴今朝最出色的代表。很多图数据库也内置图计算框架。

另一类是增量计算框架,商量若何只对部分新增数据进行计算来极大年夜晋升计算过程的效力,可应用到数据增量或周期性更新的场合。这一类框架包含Google Percolator、Microsoft Kineograph、阿里Galaxy等。

别的还有像Apache Ignite、Apache Geode(GemFire的开源版本)如许的高机能事务处理框架。

6. 总结与瞻望

大年夜Hadoop横空出世到如今10余年的时光中,大年夜数据分布式计算技巧获得了迅猛成长。不过因为汗青尚短,这方面的技巧远未成熟。各类框架都还在赓续改进,并互相竞争。

机能优化毫无疑问是大年夜数据计算框架改进的重点偏向之一。而机能的进步很大年夜程度上取决于内存的有效应用。这包含前面提到的内存计算,现已在各类类型的框架中广泛采取。内存资本的分派治理对机能也有重要影响,JVM垃圾收受接收在给开辟人员带来便利的同时,也制约了内存的有效应用。别的,Java的对象创建及序列化也比较浪费资本。在内存优化方面做足工夫的代表是Flink。出于机能方面的┞峰酌,Flink很多组件自行治理内存,无需依附JVM垃圾收受接收机制。Flink还用到开辟内存池、用二进制数据代替对象、量身定制序列化、定制缓存友爱的算法等优化手段。Flink还在义务的履行方面进行优化,包含多阶段并行履行和增量迭代。

拥抱机械进修和人工智能也是大年夜数据计算的潮流之一。Spark和Flink分别推出机械进修库Spark ML和Flink ML。更多的平台在第三方大年夜数据计算框架上供给机械进修,如Mahout、Oryx及一干Apache孵化项目SystemML、HiveMall、PredictionIO、SAMOA、MADLib。这些机械进修平台一般都同时支撑多个计算框架,如Mahout同时以Spark、Flink、H2O为引擎,SAMOA则应用S4、Storm、Samza。在深度进修掀起高潮后,又有社区摸索把深度进修框架与现有分布式计算框架结合起来,如许的项目有SparkNet、Caffe>

图12. BEAM的同一模型

7. 进修材料

最后介绍一下大年夜数据计算方面的进修材料。入门前的懂得、常识面的拓展及常识的零碎积聚靠经久拜访相干的网站、论坛、微信订阅号,问题解答则靠对搜刮引擎的闇练驾驭。须要指出的是,网上的内容良萎不齐,很多材料是过时的,耳食之言也是常有的事,要留意辨别。


  推荐阅读

  网易数据传输服务NDC高可用实践

高可用实践 【51CTO.com原创稿件】NDC全称Netease data canal,即网易数据运河,是一个平台化的构造化数据传输体系,目标是解决构造化数据的及时迁徙、同步、订阅、OLTP到OLAP的及时数据整>>>详细阅读


本文标题:一文读懂大数据计算框架与平台

地址:http://www.17bianji.com/lsqh/35021.html

关键词: 探索发现

乐购科技部分新闻及文章转载自互联网,供读者交流和学习,若有涉及作者版权等问题请及时与我们联系,以便更正、删除或按规定办理。感谢所有提供资讯的网站,欢迎各类媒体与乐购科技进行文章共享合作。

网友点评
自媒体专栏

评论

热度

精彩导读
栏目ID=71的表不存在(操作类型=0)