【问题标题】:What is the use of Hive's LLAP when there is Hive TEZ?有 Hive TEZ 的时候,Hive 的 LLAP 有什么用?
【发布时间】:2018-04-24 07:07:09
【问题描述】:

在我们的项目中,我们将数据从 Greenplum 数据库加载到 HDFS (HIVE)。最近,我知道 Hive2 有一个新的捆绑包“LLAP”。我一直对 LLAP 的概念感到困惑。 LLAP 的确切用途是什么?当我们已经有了 Hive 的 TEZ 引擎时,LLAP 有什么用?我们项目中的一位开发人员告诉我,我们正在使用 Hive LLAP 将数据加载到 HDFS Hive 表中。使用 LLAP 是一个好习惯吗?如果不是,为什么不是?

谁能给我一些关于上述问题的澄清?

【问题讨论】:

  • LLAP 不会“从外部源加载数据”,因此不确定开发人员是否了解 LLAP 是什么......至少,据我了解,您只是将 Hive 引擎连接到后端系统

标签: hadoop hive hdfs


【解决方案1】:

https://cwiki.apache.org/confluence/display/Hive/LLAP 是了解 Hive Live Long And Process (LLAP) 的好地方。

正如链接所说

LLAP 在现有的、基于流程的 Hive 执行中工作,以保持 Hive 的可扩展性和多功能性。它不会取代现有的执行模型,而是对其进行增强。

LLAP 不是执行引擎(如 MapReduce 或 Tez)

相反,它提供了一个长期存在的守护进程(因此是首字母缩略词的 LL 部分)来替换与 DataNode 的交互,并且该守护进程还提供缓存、预取和一些查询处理。这允许守护进程本身主要处理简单的查询,而更复杂的查询照常在 YARN 容器中执行。

该链接还显示了 Tez AM 如何位于所有这些之上,并提交通过 LLAP 操作的 Hive 任​​务,LLAP 根据需要与 DataNode 交互。在示例中,查询的初始阶段被推送到 LLAP 中,但大型 shuffle 在单独的容器中执行。

【讨论】:

    【解决方案2】:

    LLAP 节点是 Tez 和 Hadoop 数据节点之间的附加节点层(一个 LLAP 节点对应一个 Hadoop 数据节点),可以缓存数据并处理一些查询。查询执行仍由 Tez 安排和管理。

    LLAP 节点具有缓存数据的守护程序,如果一次又一次地访问公共数据,可以加速查询。

    简而言之,它提高了性能,您将在 hive 中使用 LLAP 获得非常好的查询性能。 Hive 也可以在没有 LLAP 的情况下工作,但它可能会更慢。

    【讨论】:

      猜你喜欢
      • 2022-07-13
      • 1970-01-01
      • 1970-01-01
      • 2020-03-07
      • 1970-01-01
      • 2016-12-08
      • 1970-01-01
      • 1970-01-01
      • 2014-02-21
      相关资源
      最近更新 更多