在我们的项目中,我们将数据从Greenplum数据库加载到HDFS(HIVE)。最近,我开始知道有一个新的捆绑Hive2,'LLAP'。我对LLAP的概念感到困惑。 LLAP的确切用途是什么?当我们已经拥有Hive的TEZ引擎时,LLAP有什么用?我们项目中的开发人员告诉我,我们正在使用Hive LLAP将数据加载到HDFS Hive表中。使用LLAP是一个好习惯吗?如果没有,为什么不呢?
有人能给我一些关于上述问题的清晰度吗?
答案 0 :(得分:2)
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中,但是大型混洗在单独的容器中执行。
答案 1 :(得分:1)