概述
1、组件:
元存储(Metastore )-存储“系统目录以及关于表、列、分区等的元数据”的组件。
驱动(Driver )- 控制 HiveQL 生命周期的组件,当 HiveQL 查询穿过 Hive时。该驱动管理着会话句柄以及任何会话的统计。
查询编译器(Query Compiler) - 是一个组件,将HiveQL编译成有向无环图(directed acyclic graph, DAG)形式的map/reduce任务。
执行引擎 (Execution Engine) - 是一个组件,依相依性顺序(dependency order)执行由编译器产生的任务。
Hive 服务器 (HiveServer) - 一个提供“健壮的接口(thrift interface )、JDBC/ODBC 服务器以及提供一种整合 Hive 和其它应用的”组件。
客户端组件 -类似命令行接口CLI(Command Line Interface), web UI 以及JDBC/ODBC驱动。包含了正反序列化(SerDe)以及对象观察器(ObjectInspector)接口的可扩展接口,类似于前述用户定义函数 UDF (User Defined Function)以及用户定义聚合函数UDAF(User Defined AggregateFunction)接口,允许用户定义自己的列函数。
Hive编译过程
基本流程为:
将HiveQL转化为
1)抽象语法树
2)再转为查询块
3)然后转为逻辑查询计划
4)再转为物理查询计划
5)最终选择最佳决策的过程。
最后
以上就是冷傲香菇为你收集整理的hive的内部组件及执行流程的全部内容,希望文章能够帮你解决hive的内部组件及执行流程所遇到的程序开发问题。
如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。
发表评论 取消回复