- 首页
- 医师定期考核
答案:
答:Hive的主要模块以及与Hadoop的交互工作如下图所示:
图 Hive组成模块下图显示Hive与Hadoop交互的主要组件,这些组件如下:(1)UI——包括Shell命令、JDBC/ODBC和WebUi,其中最常用的是shell这个客户端方式对Hive进行相应操作。(2)Driver——Hive解析器的核心功能就是根据用户编写的SQL语法匹配出相应的MapReduce模板,形成对应的MapReduce job进行执行。(3)Compiler——将HiveQL编译成有向无环图(Directed Acyclic Graph,DAG)形式的MapReduce任务。(4)Metastore——Hive将表中的元数据信息存储在数据库中,如derby、MySQL,Hive中的元数据信息包括表的名字、表的列和分区、表的属性(是否为外部表等)、表的数据所在的目录等。编译器Compiler根据用户任务去MetaStore中获取需要的Hive的元数据信息。(5)Execution Engine——执行编译器产生的执行计划,该计划是一个有向无环图,执行引擎管理这些计划的不同阶段之间的依赖关系,并在相关组件上执行这些阶段。
图 Hive执行流程