作家
登录

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

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

 

1. 媒介

计算机的根本工作就是处理数据,包含磁盘文件中的数据,经由过程收集传输的数据流或数据包,数据库中的构造化数据等。跟着互联网、物联网等技巧获得越来越广泛的应用,数据范围赓续增长,TB、PB量级成为常态,对数据的处理已无法由单台计算机完成,而只能由多台机械合营承担计算义务。而在分布式情况中进行大年夜数据处理,除了与存储体系打交道外,还涉及计算义务的分工,计算负荷的分派,计算机之间的数据迁徙等工作,并且要推敲计算机或收集产生故障时的数据安然,情况要复杂得多。

4. 交互式分析框架

举一个简单的例子,假设我们要大年夜发卖记录中统计各类商品发卖额。在单机情况中,我们只需把发卖记录扫描一遍,对各商品的发卖额进行累加即可。如不雅发卖记录存放在关系数据库中,则更省事,履行一个SQL语句就可以了。如今假定发卖记录实袈溱太多,须要设计出由多台计算机来统计发卖额的筹划。为包管计算的┞俘确、靠得住、高效及便利,这个筹划须要推敲下列问题:

若何为每台机械分派义务,是先按商品种类对发卖记录分组,不合机械处理不合商品种类的发卖记录,照样随机向各台机械分发一部分发卖记录进行统计,最后把各台机械的统计结不雅按商品种类归并?

上述两种方法都涉及数据的排序问题,应选择哪种排序算法?应当在哪台机械上履行排序过程?

统计各类商品的发卖额。经由过程MapReduce实现,这在前面已经评论辩论过。

【义务编辑:谢海平 TEL:(010)68476606】

若何定义每台机械处理的数据大年夜哪里来,处理结不雅到哪里去?数据是主动发送,照样接收方申请时才发送?如不雅是主动发送,接收方处理不过来怎么办?如不雅是申请时才发送,那发送方应当保存数据多久?

会不会义务分派不均,有的机械很快就处理完了,有的机械一向忙着?甚至,闲着的机械须要等忙着的机械处理完后才能开端履行?

如不雅增长一台机械,它能不克不及减轻其他机械的负荷,大年夜而缩短义务履行时光?

如不雅一台机械挂了,它没有完成的义务该交给谁?会不会漏掉统计或反复统计?

统计过程中,机械之间若何调和,是否须要专门的一台机械批示调剂其他机械?如不雅这台机械挂了呢?

Spark为RDD供给了丰富的操作办法,个中map、 filter、 flatMap、 sample、groupByKey、 reduceByKey、union、join、cogroup、mapValues、sort、partionBy用于履行数据转换,生成新的RDD,而count、collect、 reduce、lookup、save用于收集或输出计算结不雅。如前面统计商品发卖额的例子,在Spark中只须要调用map和reduceByKey两个转换操作就可以实现,全部法度榜样包含加载发卖记录和保存统计结不雅在内也只须要寥寥几行代码,并且支撑Java、Scala、Python、R等多种开辟说话,比MapReduce编程要便利得多。下图解释reduceByKey的内部实现。

上述问题中,除了第1个外,其余的都与具体义务无关,在其他分布式计算的场合也会碰到,并且解决起来都相当棘手。即使第1个问题中的分组、统计,在很多半据处理场合也会涉及,只是具体方法不合。如不雅能把这些问题的解决筹划封装到一个计算框架中,则可大年夜大年夜简化这类应用法度榜样的开辟。

2004年前后,Google先后揭橥三篇论文分别介绍分布式文件体系GFS、并行计算模型MapReduce、非关系数据存储体系BigTable,第一次提出了针对大年夜数据分布式处理的可重用筹划。在Google论文的启发下,Yahoo的工程师Doug Cutting和Mike Cafarella开辟了Hadoop。在借鉴和改进Hadoop的基本上,又先后出生了数十种应用于分布式情况的大年夜数据计算框架。本文在参考业界惯例的基本上,对这些框架按下列标准分类:

如不雅不涉及膳绫擎提出的第8、9两个问题,则属于批处理框架。批处理框架重点关怀数据处理的吞吐量,又可分为非迭代式和迭代式两类,迭代式包含DAG(有向无环图)、图计算等模型。

如不雅重点存眷的是第9个问题,则属于交互式分析框架。

本文下面分别评论辩论批处理、流计算、交互式分析三种类其余框架,然后扼要介绍大年夜数据计算框架的一些成长趋势。文┞仿最后介绍这一范畴的进修材料。

(可选)能不克不及让用户履行一句SQL就可以获得结不雅?

为进步并发性,每一个计算节点对应的数据处理功能被分派到多个义务(雷同或不合计算机上的线程)。在设计DAG时,须要推敲若何把待处理的数据分发到下流计算节点对应的各个义务,这在及时F算中称为分组(Grouping)。最简单的筹划是为每个义务复制一份,不过如许效力很低,更好的方法是每个义务处理数据的不合部分。随机分组能达到负载均衡的效不雅,应优先推敲。不过在履行累加、数据接洽关系等操作时,须要包管同一属性的数据被固定分发到对应的义务,这时应采取定向分组。在某些情况下,还须要自定义分组筹划。

图1. 大年夜数据计算框架全景图

待所有节点都履行完上述步调后,MapReduce启动Reduce义务。每个分组对应一个Reduce义务。

2. 批处理框架

图3. MapReduce处理过程

2.1. Hadoop

 1/5    1 2 3 4 5 下一页 尾页

  推荐阅读

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

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


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

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

关键词: 探索发现

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

网友点评
自媒体专栏

评论

热度

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