当有Hivetez时,Hive的llap有什么用?

yptwkmov  于 2021-05-31  发布在  Hadoop
关注(0)|答案(2)|浏览(862)

在我们的项目中,我们将greenplum数据库中的数据加载到hdfs(hive)中。最近,我知道有一个新的捆绑与hive2,'驼峰'。我对llap的概念感到困惑。llap的确切用途是什么?当我们已经有了Hive的tez引擎,llap有什么用?我们项目中的一位开发人员告诉我,我们正在使用配置单元llap将数据加载到hdfs配置单元表中。使用llap是一种好的做法吗?如果不是,为什么不是?
有谁能对上述问题给我澄清一下吗?

zed5wv10

zed5wv101#

llap节点是tez和hadoop数据节点之间的附加节点层(一个llap节点对应一个hadoop数据节点),可以缓存数据和处理一些查询。查询执行仍然由tez调度和管理。
llap节点具有缓存数据的守护进程,如果一次又一次地访问公共数据,这些守护进程可以加速查询。
简言之,它提高了性能,您将在hive中使用llap获得非常好的查询性能。Hive也可以在没有llap的情况下工作,但速度会慢一些。

wixjitnu

wixjitnu2#

https://cwiki.apache.org/confluence/display/hive/llap 是一个学习Hive长寿和过程(llap)的好地方。
正如链接所说
llap在现有的、基于进程的配置单元执行中工作,以保持配置单元的可伸缩性和多功能性。它并没有取代现有的执行模型,而是增强了它。

llap不是执行引擎(如mapreduce或tez)
相反,它提供了一个长寿命的守护进程(因此是缩写的ll部分)来替换与datanode的交互,并且这个守护进程还提供缓存、预取和一些查询处理。这使得简单的查询在很大程度上由守护进程本身处理,而更复杂的查询通常在容器中执行。
该链接还显示了tez-am如何处理所有这些问题,并提交通过llap操作的hive任务,后者根据需要与datanode交互。在本例中,查询的初始阶段被推送到llap中,但是大的无序处理是在单独的容器中执行的。

相关问题