海牛学院的 | 第 569 期
本文预计阅读 | 9 分钟


Hadoop是一个具有有趣名字的开源软件框架,它通过允许组织存储,管理和分析大量数据以获得可行的见解和竞争优势,已成为组织的游戏规则改变者。
但这并非总是如此。最初,Hadoop实施需要熟练的工程师和数据科学家团队,这使得Hadoop对于许多组织而言过于昂贵且繁琐。现在,由于有许多开源项目,使用Hadoop进行大数据分析已变得更加负担得起且成为主流。
下面就来看看在三种开源项目-如何配置单元,星火,和普雷斯托 -具备改变了的Hadoop生态系统。
Hive
Hadoop的一个早期问题是,虽然它非常适合存储和管理海量数据,但分析数据以获取见解却很困难。只有训练有素的数据科学家才能编写复杂的“ Java Map-Reduce”作业,才能释放Hadoop的分析功能。为了解决这个问题,Facebook的两位数据科学家Ashish Suchoo和Joydeep Sen Sarma后来成立了名为Qubole的基于云的Hadoop大数据分析服务,并于2008年创建了Apache Hive。
Hive利用结构化查询语言(SQL)的易用性,这种语言需要相对较少的培训并且被数据工程师广泛使用,Hive使用一种称为HiveQL的语言将类似SQL的查询自动转换为在Hadoop上执行的MapReduce作业。由于SQL是学校教授的首选数据语言,并且在行业中使用,因此将SQL置于Hadoop之上的Hive通过使其强大的分析功能更易于为个人和组织(不仅是开发人员)使用而改变了Hadoop。Hive最适合用于汇总,查询和分析时间不是很重要的大型结构化数据集。
Spark
尽管Hive on MapReduce在汇总,查询和分析大量结构化数据方面非常有效,但Hadoop在MapReduce上启用的计算速度却很慢而且很有限,这正是Spark的用处。2009年由加州大学伯克利分校的AMPLab开发,2010年开源,Apache Spark是功能强大的Hadoop数据处理引擎,旨在在创纪录的时间内处理批处理和流式工作负载。实际上,在Apache Hadoop 2.0上,Apache Spark在程序上的运行速度比MapReduce快100倍,磁盘上快10倍。
用户的优势在于,Spark不仅支持诸如SQL查询,流数据之类的操作以及诸如机器学习和图形算法之类的复杂分析,而且还允许将这些多种功能无缝组合到单个工作流程中。此外,Spark与Hadoop的分布式文件系统(HDFS),HBase和任何Hadoop存储系统100%兼容,这意味着组织中的所有现有数据均可立即在Spark中使用。Spark具有统一大数据分析的能力,从而降低了组织构建单独的处理系统来满足其各种计算需求的需求。
Presto
面对在超过250 PB的庞大数据仓库中进行快速交互分析并计数的任务,Facebook的工程师开发了自己的查询机Presto 。与Spark既在内存中又在磁盘上运行程序的Spark不同,Presto仅在内存中运行。此功能使Presto可以在数百毫秒内在Hadoop上运行简单查询,而更复杂的查询仅需几分钟。相比之下,使用依赖MapReduce的Hive扫描整个数据集可能需要几分钟到几小时。还显示Presto在CPU上的效率是Hive的七倍。Plus Presto可以将来自多个来源的数据组合到一个查询中,从而可以对整个组织进行分析。
如今,Presto可以作为开放源代码的分布式SQL查询解决方案使用,组织可以使用该查询解决方案对千兆字节至PB级的数据源运行交互式分析查询。Presto具有扩展到Facebook之类的组织规模的能力,是一个功能强大的查询引擎,它已经改变了Hadoop生态系统,并且可能对组织和整个行业都具有变革性。
大数据每天都在增长。当组织寻求新的更好的方式来利用有价值的数据时,他们将不再依赖Hadoop和MapReduce进行批处理,而更多地依赖诸如Hive,Spark和Presto之类的开源工具来满足未来的大数据需求。
备注 “ 进群 ” (广告勿扰)
【海牛大数据交流群】


唔~要这个 ↓↓↓







