在我们的项目中,我们将数据从 Greenplum 数据库加载到 HDFS(HIVE)。最近,我了解到 Hive2 有一个新捆绑包“LLAP”。我一直对 LLAP 的概念感到困惑。
LLAP 的确切用途是什么?当我们已经有了 Hive 的 TEZ Engine 时,LLAP 有什么用呢?我们项目中的一位开发人员告诉我,我们正在使用 Hive LLAP 将数据加载到 HDFS Hive 表中。使用 LLAP 是一个好习惯吗?如果不是,为什么不是?
任何人都可以让我对上述查询有所了解吗?
最佳答案
https://cwiki.apache.org/confluence/display/Hive/LLAP 是了解 Hive Live Long And Process (LLAP) 的好地方。
正如链接所说
和
相反,它提供了一个长期存在的守护进程(因此是首字母缩略词的 LL 部分)来代替与 DataNode 的交互,并且这个守护进程还提供缓存、预取和一些查询处理。这允许守护程序本身在很大程度上处理简单的查询,而像往常一样在 YARN 容器中执行更复杂的查询。
该链接还显示了 Tez AM 如何能够超越所有这些,并提交通过 LLAP 运行的 Hive 任务,LLAP 根据需要与 DataNode 交互。在示例中,查询的初始阶段被推送到 LLAP,但大型 shuffle 在单独的容器中执行。
关于hadoop - 有Hive TEZ的时候Hive的LLAP有什么用?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/49995387/