分享

2017年大数据生态圈三强榜单已出,快来看看都有谁?

 LZS2851 2017-03-12

近日微信订阅号OpenFEA发布了大数据生态圈三强名单。

2017年大数据生态圈三强榜单已出,快来看看都有谁?

之所以给他们起一个简称SHE,一方面是因为顺口,方便记忆。另一方面是因为这三大系统都是大数据技术圈比较有代表性的生态系统及框架。他们就像母亲一样,承载万物,哺育万物,提供了各类大数据解决方案的支撑骨架,并且关系着各类应用的生发衰亡。

S,代表Spark;

H,代表Hadoop;

E,代表Elastic Stack;

以下将分别进行介绍,并阐述上榜原因。

第一名. Hadoop

自大数据提出时起,人们就运用各种方法来进行处理。

早期,通过不断提升服务器的性能,增加服务器集群数量来处理大规模数据,但成本和代价高昂,最终达到一个无法接受的地步,人们不得不研究其它的处理方法。

2003年,Google发表了三篇大数据技术论文:《MapReduce》、《Google File System》、《Big Table》。这三篇论文描述了采用分布式计算方式来进行大数据处理的全新思路, 其主要思想是将任务分解,然后在多台处理能力较弱的计算节点中同时处理, 最后将结果合并从而完成大数据处理。

2017年大数据生态圈三强榜单已出,快来看看都有谁?

这种方式因为采用廉价的P C 服务器集群, 实现了海量数据的管理,所以成为处理大数据的主要方式。时至今日,这种将数据化大为小,分而治之的处理方法,仍然应用广泛。但颇为可惜的是,Google虽然通过论文的方式向大数据技术大牛们指明了方向,但并没有将其核心技术开源。因为Google MapReduce是私有技术,所以它无法被其它公司运用,这也成为阻碍它发展壮大的原因之一,无法挤入榜单。

2005年,在Google MapReduce数据处理思想的启发下,Apache基金会推出了Hadoop。Hadoop虽然在性能方面欠佳,但它开源的格局为它注入了旺盛的生命力,Hadoop的应用遍地开花,Yahoo、Facebook、阿里巴巴等众多IT企业纷纷转向Hadoop平台,并且推动和完善(Yahoo、Facebook、阿里巴巴应用Hadoop平台的信息来源于:邹捷.大数据技术发展研究综述〔J〕.科技风,2014,7(14))。

Yahoo投入了大量的资源到Hadoop的研究中,目前Yahoo在Hadoop上的贡献率占了70%。从2005年起,Yahoo就成立了专门的团队,致力于推动Hadoop的研发,并将集群从20个节点发展到2011年的42000个节点,初具生产规模。在应用领域,Yahoo更是积极地将Hadoop应用于自己的各种产品中,在搜索排名、内容优化、广告定位、反垃圾邮件、用户兴趣预测等方面得到了充分的应用。

Facebook拥有超过10亿的活跃用户,需要存储和处理的数据量巨大。它使用Hadoop平台建立日志系统、推荐系统和数据仓库系统等。2012年,Facebook甚至宣布放弃自行研发的开源项目Cassan-dra,全面采用Hbase为邮件系统提供数据库支持。Facebook目前运行着的可能是全球最大规模的基于Hadoop的数据收集平台。另一方面,Facebook也以自身的强大实力,为Hadoop提供强力的支持。2012年,Facebook宣传开源Corona项目,这是MapReduce的改进版本,可以更好地利用集群资源。

阿里巴巴同样是Hadoop技术的积极应用者。2009年,阿里推出了以Hadoop为基础的分布式数据平台,代号“云梯”。云梯为淘宝在后来的多次严峻挑战中经受考验打下了坚实的技术基础。2014年3月,阿里宣传,即将用自主研发的云梯二代替代开源项目为基础的云梯一代。新平台在性能上提升更大,同时拥有更多的知识产权和自主性。除了IT企业,金融、传媒、零售、能源、制药等传统行业在大数据技术应用方面也积极响应,行业应用系统研发、服务需求和计算模型研究都在蓬勃开展。

因此,Hadoop以应用最广而入三强,并且位列第一名。

Hadoop框架最核心的设计是:HDFS和MapReduce。HDFS用于非结构化海量数据的存储,MapReduce则为海量数据提供了计算。

另外,还有HBASE、HIVE、YARN等核心组件。Hbase,是运行在Hadoop上的一种分布式数据库;HIVE,提供了类SQL的HQL语言查询存放在HDFS上的数据;Yarn,可以很方便的管理诸如Hive、Hbase、Spark等应用,而MapReduce也需要运行在Yarn上面。

2017年大数据生态圈三强榜单已出,快来看看都有谁?

一、HDFS

HDFS是分布式计算的存储基石,对于整个集群有单一的命名空间,具有数据一致性,适合一次写入多次读取的模型,客户端在文件没有被成功创建之前是无法看到文件存在的。文件会被分割成多个文件块,每个文件块被分配存储到数据节点上,而且会根据配置由复制文件块来保证数据的安全性。

HDFS通过三个重要的角色来进行文件系统的管理:NameNode、DataNode和Client。NameNode可以看做是分布式文件系统中的管理者,主要负责管理文件系统的命名空间、集群配置信息和存储块的复制等。

NameNode会将文件系统的Metadata存储在内存中,这些信息主要包括文件信息、每一个文件对应的文件块的信息和每一个文件块在DataNode中的信息等。

DataNode是文件存储的基本单元,它将文件块(Block)存储在本地文件系统中,保存了所有Block的Metadata,同时周期性地将所有存在的Block信息发送给NameNode。

Client就是需要获取分布式文件系统文件的应用程序。

二、MapReduce

MapReduce是一个高性能的分布式计算框架,用于对海量数据进行并行分析和处理。与传统数据仓库和分析技术相比,MapReduce适合处理各种类型的数据,包括结构化、半结构化和非结构化数据。数据量在 TB 和 PB 级别,在这个量级上,传统方法通常已经无法处理数据。MapReduce 将分析任务分为大量的并行Map 任务和Reduce汇总任务两类。Map 任务运行在多个服务器上。指定一个Map(映射)函数,用来把一组键值对映射成一组新的键值对,指定并发的Reduce(归约)函数,用来保证所有映射的键值对中的每一个共享相同的键组。把一堆杂乱无章的数据按照某种特征归纳起来,然后处理并得到最后的结果。Map面对的是杂乱无章的互不相关的数据,它解析每个数据,从中提取出key和value,也就是提取了数据的特征。经过MapReduce的Shuffle阶段之后,在Reduce阶段看到的都是已经归纳好的数据了,在此基础上我们可以做进一步的处理以便得到结果。

三、YARN

Yarn是一个分布式的资源管理系统,用以提高分布式集群环境下内存、IO、网络、磁盘等资源的利用率。严格来说,Yarn只是一个资源管理的框架,并不是一个计算框架,MapReduce计算框架需要运行在Yarn上。

Yarn,最主要的作用是,能够使得各种应用可以互不干扰的运行在同一个Hadoop系统中,共享整个集群资源。

四、HBASE

Hbase是运行在Hadoop上的一种分布式数据库,部署于HDFS之上,克服了HDFS在随机读写方面的缺点。

HBase是一种Key/Value系统,和Hive不一样,Hbase能够在它的数据库上实时运行,而不是运行MapReduce任务。在Hbase中,行是key/value映射的集合,这个映射通过row-key来唯一标识。Hbase利用Hadoop的基础设施,可以利用通用的设备进行水平的扩展。

五、HIVE

Hive是一个构建在Hadoop基础设施之上的数据仓库。通过Hive可以使用HQL语言查询存放在HDFS上的数据。

HQL是一种类SQL语言,这种语言最终被转化为Map/Reduce。虽然Hive提供了SQL查询功能,但是Hive不能够进行交互查询,因为它只能够在Haoop上批量的执行Hadoop。

Hive被分区为表格,表格又被进一步分割为列簇。列簇必须使用schema定义,列簇将某一类型列集合起来(列不要求schema定义)。例如,“message”列簇可能包含:“to”, ”from” “date”, “subject”, 和”body”. 每一个 key/value对在Hbase中被定义为一个cell,每一个key由row-key,列簇、列和时间戳。

第二名. Spark

Hadoop MapReduce计算模型虽然大行其道,并且在海量数据分析领域成绩斐然,被很多公司广泛采用。但是,因为Hadoop MapReduce每次操作之后将所有数据写回到物理存储介质(磁盘)上,而使海量数据的处理性能大大折扣,这是一个令人头痛的问题!

2009年,Spark诞生于伯克利AMPLab,2010年开源。

与Hadoop相比,Spark真正的优势在于速度。因为Spark的大部分操作都是在内存中,内存比硬盘的读取速度快上了N倍,所以Spark在某些计算类型上比Hadoop快上数倍,这也正是它发展迅速的主要原因。事实上,从创立到如今大红大紫,Spark只花了8年左右的时间。

但是,Spark并不会取借Hadoop。Spark只是专注于计算,而不承担数据存储功能,它需要第三方存储的支持,那就是Hadoop。

目前基于Hadoop和Spark的大数据生态日趋完善,人们对于Hadoop和Spark的认识也更加完整。Hadoop确立了大数据的处理框架,而Spark则是对Hadoop框架的改进,毕竟大数据是不断发展的,而计算模型也需要与时俱进,计算模型的不断更新才能适应企业数据发展的新特点。Spark丰富了企业大数据的选择。

Spark的用户和应用量一直在迅速增加,其中包括传统工业厂商TOYOTA和著名O2O公司Uber与Airbnb,说明Spark的用户领域不断深化到传统工业界和互联网与传统行业交叉的领域。不仅如此,越来越多的大数据商业版发行商例如Cloudera以及Hortonworks也开始将Spark纳入其部署范围,这无疑对Spark的商业应用和推广起到巨大作用,另一方面也显示Spark平台技术的先进性。

因此,Spark以主流计算框架的地位而入三强,并且位列第二名。

Spark的体系结构不同于Hadoop,Spark主要包括Spark SQL、Spark Streaming、MLlib和GraphX。

2017年大数据生态圈三强榜单已出,快来看看都有谁?

(以下对Spark各组件的解释,来源于http://blog.csdn.net/xwc35047/article/details/51072145)

一、Spark Streaming

Spark Streaming是基于Spark的上层应用框架,使用内建API,能像写批处理文件一样编写流处理任务,易于使用,它还提供良好的容错特性,能在节点宕机情况下同时恢复丢失的工作和操作状态。

在处理时间方面,Spark Streaming是基于时间片准实时处理,能达到秒级延迟,吞吐量比Storm大,此外还能和Spark SQL与Spark MLlib联合使用,构建强大的流状态运行即席(ad-hoc)查询和实时推荐系统。

二、Spark SQL

Spark SQL仅依赖HQL Parser、Hive metastore和Hive SerDe,即说明在解析SQL生成抽象语法树(Abstract Syntax Tree,AST)后的部分都是由Spark SQL自身的Calalyst负责,利用scala模式匹配等函数式语言的特性,让Catalyst开发的执行计划优化策略比Hive更简洁。除了HQL以外,Spark SQL还内建了一个精简的SQL parser,以及一套Scala特定领域语言(Domain Specific Language, DSL)。也就是说,如果只是使用Spark SQL内建的SQL方言或Scala DSL对原生RDD对象进行关系查询,用户在开发Spark应用时完全不需要依赖Hive的任何东西,因而日后的发展趋势重点在Spark SQL,对Shark的支持会逐渐淡化。

Spark SQL从Spark1.3开始支持提供一个抽象的编程结构DataFrames,能充当分布式SQL查询引擎。DataFrame本质就是一张关系型数据库中的表,但是底层有很多方面的优化,它能从多种数据源中转化而来,例如结构型数据文件(如Avro, Parquet, ORC, JSON和JDBC)、Hive表、外部数据库或已经存在的RDD。

三、MLlib

MLlib是Spark生态系统在机器学习领域的重要应用,它充分发挥Spark迭代计算的优势,能比传统MapReduce模型算法快100倍以上。

MLlib 1.3实现了逻辑回归、线性SVM、随机森林、K-means、奇异值分解等多种分布式机器学习算法,充分利用RDD的迭代优势,能应对大规模数据应用机器学习模型,并能与Spark Streaming、Spark SQL进行协作开发应用,让机器学习算法在基于大数据的预测、推荐和模式识别等方面应用更广泛。

四、GraphX

GraphX是另一个基于Spark的上层的分布式图计算框架,提供了类似Google图算法引擎Pregel的功能,主要处理社交网络等节点和边模型的问题。因为Spark能很好的支持迭代计算,故处理效率优势明显。

第三名. Elastic Stack

大数据时代,随着存储与计算集群的规模逐渐壮大,系统运维数据和设备日志也越来越庞大而重要。这些数据既能反馈系统运行状态,也能帮助管理员通过日志数据来挖掘价值。

日志是带有时间戳的基于时间序列的机器数据,它与Hbase等数据库存储的半结构化的数据的数据格式是不一样。因此,它无法被Hadoop Hbase库直接处理。

技术人员在日志处理方面,运用了各种方法及方案,总结起来,按时间先后可以归纳为如下三类:

刚开始,日志只做事后追查,使用数据库存储日志。这种方式,需要进行解析。

后来,采用Hadoop进行日志的离线处理。这种方式的缺点是实时性差。

现在,采用开源日志处理平台Elastic Stack(ElasticSearch+Logstash+Kibana+Beats)。这种方式更灵活,扩展性更强。同时可配置Logstash 和Elasticsearch 集群用于支持大集群系统的运维日志数据监控和查询。自诞生之日起,就因为处理速度快,实时而发展迅速,如今已成为大数据日志处理方面的标准解决方案。

2017年大数据生态圈三强榜单已出,快来看看都有谁?

(来源于http://www.cnblogs.com/kylecky/p/5207198.html)

一、Beats

Beats主要采集网络流量、文件log等数据。采集数据之后可以直接把数据发送给Elasticsearch或者通过Logstash发送给Elasticsearch,然后进行后续的数据分析活动。

Elastic官方的Beats有Packetbeat、Topbeat和Filebeat组成。其中,Packetbeat,有于分析网络报文,Topbeat是服务器监控程序,而Filebeat用于收集日志。

Beats获取的数据都是未经处理的,通过Logstash发送数据给Elasticsearch,主要用于对采集数据进行二次处理。

二、ElasticSearch

根据百度百科的定义,ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。

Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。

三、Logstash

logstash是一个日志的传输、处理、管理平台。可以用来对日志进行收集管理,提供 Web 接口用于查询和统计。

四、Kibana

Kibana是一个基于web界面的数据展示工具,有点类似于OpenFEA的KA自助功能。

总结

大数据自提出时起至今日,技术更新迭代迅速,无数昨天的技术明星成为今日黄花。大浪淘沙,经过多年的发展,我们以拥戴粉丝及应用广度为评选标准,最终得出如下榜单,各位大数据爱好者,快来看看有没有您钟意的技术明星?

2017年大数据生态圈三强榜单已出,快来看看都有谁?

参考文献

1、邹捷.大数据技术发展研究综述〔J〕.科技风,2014,7(14)

2、http://blog.csdn.net/xwc35047/article/details/51072145,2017.3.7

3、http://www.cnblogs.com/kylecky/p/5207198.html,2017.3.10

4、http://baike.baidu.com/link?url=tlQzfsOtVH0_PIgofgu6pGVokcpSG7Q5b9fPQMboOpCqvX81Yqhg9S9yMNiyW-DmJyNopNhqriTvXhufCJhOXVRxNhp_FTTLLGmearYtEdC,2017.3.10

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多