改变 Hadoop 的三个开源项目

还没有读者喜欢这篇文章。
Is broadband a necessity or a nice to have?

Opensource.com

Hadoop,这个名字听起来很有趣的开源软件框架,通过允许组织存储、管理和分析海量数据,以获得可操作的见解和竞争优势,已经成为组织的游戏规则改变者。

但这并非一直如此。

最初,Hadoop 的实施需要技术精湛的工程师和数据科学家团队,这使得 Hadoop 对许多组织来说成本过高且使用起来很麻烦。现在,由于许多开源项目,使用 Hadoop 进行大数据分析变得更加经济实惠和主流。

以下是三个开源项目——HiveSpark Presto——如何改变 Hadoop 生态系统的概览。

Hive

Hadoop 早期的​​一个问题是,虽然它非常适合存储和管理海量数据,但分析这些数据以获得见解却很困难。只有受过编写复杂“Java Map-Reduce”作业训练的熟练数据科学家才能释放 Hadoop 的分析能力。为了解决这个问题,Facebook 的两位数据科学家 Ashish Thusoo 和 Joydeep Sen Sarma 于 2008 年创建了 Apache Hive,他们后来创立了基于云的 Hadoop 大数据分析服务 Qubole。

Hive 利用结构化查询语言 (SQL) 的易用性,SQL 是一种相对容易学习且被数据工程师广泛使用的语言,它使用一种名为 HiveQL 的语言将类似 SQL 的查询自动转换为在 Hadoop 上执行的 MapReduce 作业。由于 SQL 是学校教授和行业中使用的首选数据语言,Hive 将 SQL 放在 Hadoop 之上,通过使其强大的分析能力更容易为个人和组织(而不仅仅是开发人员)所用,从而改变了 Hadoop。Hive 最适合用于总结、查询和分析大型结构化数据集,在这些场景中,时间不是最重要的。

Spark

虽然 MapReduce 上的 Hive 非常有效地总结、查询和分析大型结构化数据集,但 Hadoop 在 MapReduce 上实现的计算速度很慢且受到限制,而这正是 Spark 的用武之地。Apache Spark 于 2009 年在加州大学伯克利分校的 AMPLab 开发,并于 2010 年开源,它是一个强大的 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 在内存和磁盘中都运行程序不同,Presto 仅在内存中运行。此功能使 Presto 能够在 Hadoop 上以仅几百毫秒的时间运行简单查询,更复杂的查询也只需几分钟。相比之下,使用依赖 MapReduce 的 Hive 扫描整个数据集可能需要几分钟到几个小时不等。Presto 在 CPU 上的效率也被证明比 Hive 高达七倍。此外,Presto 可以将来自多个数据源的数据组合到单个查询中,从而允许跨整个组织进行分析。

如今,Presto 作为一种开源分布式 SQL 查询解决方案提供,组织可以使用它对从 GB 到 PB 的数据源运行交互式分析查询。凭借扩展到 Facebook 这样大的组织规模的能力,Presto 是一个强大的查询引擎,它已经改变了 Hadoop 生态系统,并且也可能对组织和整个行业产生变革性影响。

大数据每天都在变得更大。随着组织寻找新的和更好的方法来利用有价值的数据,他们将减少对 Hadoop 和 MapReduce 进行批处理的依赖,而更多地依赖 Hive、Spark 和 Presto 等开源工具来满足未来的大数据需求。

Apache
Quill

本文是 Jason Hibbets 协调的 Apache Quill 专栏的一部分。通过发送电子邮件至 open@opensource.com,与我们分享您在 Apache 软件基金会项目中的成功案例和开源更新.

标签
User profile image.
Jonathan Buckley 是 Qubole 的临时首席营销官

3 条评论

Jonathan,非常有信息量的文章。Hadoop 的一个替代方案是 HPCC Systems,它提供了一个成熟的开源大数据平台,该平台由数据科学家设计,提供从数据摄取和数据处理到数据交付的完整集成解决方案。更多信息请访问 http://hpccsystems.com

鉴于这是 Apache Quill 系列的一部分,是否有人注意到此处各种项目名称前提到“Apache”的次数很少?

最佳实践是在任何页面的首次和最突出的位置使用完整的 Apache Hadoop 形式的名称。

内容方面,很棒。“Hadoop”是一个经常被误解的术语,重要的是让人们思考他们实际上将*如何*实施大数据——无论是什么——而这些是一些可以帮助您实现这一目标的其他关键项目。

感谢您的帖子!Hive 从根本上来说是一个操作数据存储,它也适用于分析大型、相对静态的数据集,在这些数据集中,查询时间并不重要。Hive 是对现有数据仓库的极佳补充,但它不是替代品。相反,使用 Hive 来增强数据仓库是利用现有投资同时跟上数据洪流的好方法。更多信息请访问 www.youtube.com/watch?v=1jMR4cHBwZE

Creative Commons License本作品根据知识共享署名-相同方式共享 4.0 国际许可协议获得许可。
© . All rights reserved.