Hive基本概述以及执行原理


前言

Hive是基于Hadoop的一个数据仓库工具。它可以将结构哈的数据文件映射为一张数据库表,并提供完整的SQL查询功能,可以将SQL语句转换为MapReduce任务进行运算。将数据存储在HDFS上。

Hive工作原理:

语法分析和词方分析。

使用antlr将SQL语句解析成抽象语法树。

语义分析。

从MetaStore中获取元数据信息,验证SQL语句中的表名、列名、数据类型。

逻辑计划生成。

生成逻辑计划得到算子树。

逻辑计划优化。

对算子树进行优化,包括列剪枝、分区剪枝、谓词下推等。

物理计划生成。

将逻辑计划生成出包含由MapReduce任务组成的DAG的物理计划。

物理计划执行。

将DAG发送到Hadoop集群中进行执行。

将查询结果返回。

架构图如下:
在这里插入图片描述

使用的组件

元存储(MetaStore)

该组件存储了Hive中标的描述信息,其中包含表、分区、模型、列即其类型、表数据映射关系等。通常在实际应用中会考虑将MetaStore中的数据存储到RDBMS(关系型数据库),如:MySQL。

驱动(Driver)

控制HiveSQL生命周期的组件,当HiveQL查询提交到Hive时,该驱动管理者会话句柄以及任何会话统计。

查询编译器(Query Compiler)

该组件将HiveSQL编译成有向无环图形式的MapReduce任务。

执行引擎(Execution Engine)

该组件按照依赖顺序执行由编译产生的任务。

Hive服务器(Hive Service)

目前该组件提供了Thrift、JDBC远程语句接口等。

  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值