不同实时 Hadoop 实现之间竞争升温

  • Boris Lublinsky
  • 臧秀涛

2013 年 2 月 27 日

话题:大数据语言 & 开发架构AI

自从Google 的 Dremel 论文发表以来,Hadoop 社区已经在尝试围绕 Hadoop 实现类似功能。首先出现的是OpenDremel,目前它已经是Apache Drill的一部分,而后者已于去年成为 Apache 孵化项目。之后,也是在去年,Cloudera 引入了Impala,目前仍处于 beta 状态,它还是 Cloudera Hadoop 发布版——CDH 4.1 的一部分。

Stinger Initiative是该领域新的竞争者,由 Hortonworks 于上周引入 Apache 的孵化过程,其目标是:

让 Hive 能在人的响应时间内处理很多用例(也就是 5-30 秒这一区间范围内的查询)——如大数据的查看、可视化和参数化报表——而无需安装、维护和学习其他工具,这能够为拥有 Hive 技巧和投资的大型社区带来很多价值。

Hortonworks 打算通过以下手段实现该目标:

  • 改进 Hive 的 SQL 兼容性,包括支持 Hive 中没有的 SQL 类型和‘where’子句中的子查询。
  • 优化 Hive 的执行计划。
  • 支持新的 Hadoop 列格式 ORCFile(类似于 Dremel、Drill 和Cloudera 的 Trevini)。
  • 引入基于YARN的新的运行时框架Tez

Tez 是北印度语的“速度(speed)”,该项目还处于等待投票成为 Apache 孵化项目的阶段。它是:

……一种通用的、高度可定制的框架,用于简化 Hadoop 中数据处理任务的创建,支持小规模(低延迟)和大规模(高吞吐量)负载。通过提供为一个作业执行复杂 DAG(有向无环图)任务的能力,它将 MapReduce 范型推广为一种更强大的框架,这样 Apache Hadoop 生态系统中的项目(如 Apache Hive、Apache Pig 和 Cascading)就能满足人机交互响应时间和 PB 级规模极端吞吐量的需求了(无疑 MapReduce 是实现这一点的关键驱动因素)。

当前的三个“实时”Hadoop 查询实现——Drill、Impala 和现在的 Stinger 或是已经开源,或是很快就会开源,都将能够利用社区的支持和投入来解决实时 Hadoop 查询的重要问题。

查看英文原文Competition between Real-time Hadoop Implementations Heats Up

大数据语言 & 开发架构AI