提升 Hive Query 执行效率 - Hive LLAP

Hive 刚推出到现在,得益于社区对它的不断贡献,使得 Hive执行 query 效率显著提升。其中比较有代表性的功能如 Tez (将多个 job整合为一个DAG job)以及 CBO(Cost-based-optimization)。

Hive 在 2.0 版本以后推出了一个新特性名为 LLAP(Live Long And Process),它可以显著提高 hive query的效率。

LLAP提供了一种混合模型,它包含一个长驻进程,用于直接与DataNode 进行IO交互,并紧密地集成在基于DAG的框架中。Caching,pre-fetching,部分query的执行,以及 access control被移动到此进程执行。

大部分Small/short queries被此进程直接处理。而如果是大型任务(如在reduce阶段中的大型shuffle) 则仍被标准的yarn containers 处理。此外,LLAP 还提供了更精细的访问控制。

类似于 DataNode 进程,LLAP 进程也可被其他应用访问,特别是在以文件为中心(file-centric)的关系型数据处理(如 join,多表查询)中。下图展示了 带有LLAP 的执行引擎的一个例子:


 

 

内容版权声明:除非注明,否则皆为本站原创文章。

转载注明出处:https://www.heiqu.com/zydwpf.html