重庆分公司,新征程启航

为企业提供网站建设、域名注册、服务器等服务

Hive架构设计及原理的示例分析

这篇文章给大家分享的是有关Hive架构设计及原理的示例分析的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

创新互联成都网站建设按需开发,是成都营销推广公司,为成都墙体彩绘提供网站建设服务,有成熟的网站定制合作流程,提供网站定制设计服务:原型图制作、网站创意设计、前端HTML5制作、后台程序开发等。成都网站营销推广热线:13518219792

Hive架构设计及原理

1.什么是Hive:
Hive是构建在Hadoop之上的数据仓库平台,可以结构化的数据文件映射为一张数据库表,并提供完整的SQL查询,然后将SQL语句转换为MapRuce任务进行运行,提交YARN平台调度,优点学习成本之低,通过SQL语句快速实现简单的MapReduce统计

Hive没有专门的数据格式,可以很好的工作在Thrift之上,控制分隔符 允许用户指定的数据格式

2.Hive运行流程及架构:
Hive创建的表的元信息存在于关系型数据库之内, 默认情况下Hive元数组保存在内嵌的Derby数据库,Derby只允许一个回话连接 不适合生产环境,关系型数据库可以是MySQL做为元数据库 Hive内部提供了很好的支持 只需要配置 URL Driver  User )而表中的内容存在于HDFS之中,用户输入SQL语句之后进行编译,然后在模板库找到对应的模板组装, MapReduce/Spark/Tez JOB运算,最后交给Yarn调度

Hive架构设计及原理的示例分析

3.Hive体系结构:
一、用户接口主要有三个:CLI命令行,Client 和 Web UI

二、MetaStore: hive 的元数据结构存储,可选用不同的关系型数据库来存储,通过配置文件修改、查看数据库配置信息

三、解释器、编译器、优化器、执行器
Driver: hive核心驱动器接口类,衔接UI与内核的解析、优化、执行器的桥梁,生成的查询计划存储在HDFS中,并在随后由MapReduce调用执行

Driver 调用解释器(Compiler)处理 HiveQL 字串,这些字串可能是一条 DDL、DML或查询语句。编译器将字符串转化为策略(plan)。策略仅由元数据操作 和 HDFS 操作组成,元数据操作只包含 DDL 语句,HDFS 操作只包含 LOAD 语句。对插入和查询而言,策略由 MapReduce 任务中的具有方向的非循环图(directedacyclic graph,DAG)组成,具体流程如下。

1)解析器(parser):将查询字符串转化为解析树表达式。

2)语义分析器(semantic analyzer):将解析树表达式转换为基于块(block-based)的内部查询表达式,将输入表的模式(schema)信息从 metastore 中进行恢复。用这些信息验证列名, 展开 SELECT * 以及类型检查(固定类型转换也包含在此检查中)。

3)逻辑策略生成器(logical plan generator):将内部查询表达式转换为逻辑策略,这些策略由逻辑操作树组成。

4)优化器(optimizer):通过逻辑策略构造多途径并以不同方式重写。优化器的功能如下。

将多 multiple join 合并为一个 multi-way join;

对join、group-by 和自定义的 map-reduce 操作重新进行划分;

消减不必要的列;

在表扫描操作中推行使用断言(predicate);

对于已分区的表,消减不必要的分区;

在抽样(sampling)查询中,消减不必要的桶。

此外,优化器还能增加局部聚合操作用于处理大分组聚合(grouped aggregations)和 增加再分区操作用于处理不对称(skew)的分组聚合。

四、Hadoop
Hive的数据存储在HDFS中大部分查询有MapReduce完成(select * from table 不会生成MapReduce任务)



使用HQL作为查询接口、HDFS作为存储底层、mapReduce作为执行层, 基于Hadoop平台解决了企业数据仓库构建的核心技术问题

感谢各位的阅读!关于“Hive架构设计及原理的示例分析”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!


当前标题:Hive架构设计及原理的示例分析
新闻来源:http://cqcxhl.com/article/pesjih.html

其他资讯

在线咨询
服务热线
服务热线:028-86922220
TOP