我是靠谱客的博主 冷傲香菇,最近开发中收集的这篇文章主要介绍hive的内部组件及执行流程,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

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的内部组件及执行流程所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(27)

评论列表共有 0 条评论

立即
投稿
返回
顶部