欢迎您访问程序员文章站本站旨在为大家提供分享程序员计算机编程知识!
您现在的位置是: 首页  >  IT编程

hive之大数据仓库

程序员文章站 2022-03-24 09:02:24
hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转换、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供SQL查询功能,能将SQL语句转换成Map reduce任务运行,通过自己的SQL查询分析 ......

                                                                           

  hive是基于hadoop的一个数据仓库工具,用来进行数据提取、转换、加载,这是一种可以存储、查询和分析存储在hadoop中的大规模数据的机制。hive数据仓库工具能将结构化的数据文件映射为一张数据库表,并提供sql查询功能,能将sql语句转换成map reduce任务运行,通过自己的sql查询分析需要的内容,这套sql简称hive sql。

  hive不适合用于联机(online)事务处理,也不提供实时查询功能。它最适合应用在基于大量不可变数据的批处理作业。

  hive的特点包括:可伸缩(在hadoop的集群上动态添加设备)、可扩展、容错、输入格式的松散耦合。

  hive 构建在基于静态批处理的hadoop 之上,hadoop 通常都有较高的延迟并且在作业提交和调度的时候需要大量的开销。因此,hive 并不能够在大规模数据集上实现低延迟快速的查询,例如,hive 在几百mb 的数据集上执行查询一般有分钟级的时间延迟。  

  hive是一种底层封装hadoop的数据仓库处理工具,使用类sql的hiveql语言实现查询,所有hive的数据都存储在hadoop兼容的文件系统中。hive在加载数据过程中不会对数据进行任何的修改,只是将数据移动到hdfs中hive设定的目录下,因此,hive不支持对数据的改写和添加,所有的数据都是在加载的时候确定的。

  

  hive的设计特点如下:

1.支持创建索引,优化数据查询

2.不同的存储类型,例如,出文本文件、hbase中的文件。

3.将元数据保存在关系型数据库中,大大减少了在查询过程中执行语义检查的时间。

4.可以直接使用存储在hadoop文件系统中的数据。

5.内置大量用户函数udf来操作时间、字符和其他的数据挖掘工具,支持用户扩展udf函数来完成内置函数无法实现的操作。

 

  hive体系架构:

用户接口:
用户接口主要有三个:cli,client 和 wui。其中最常用的是 cli,cli 启动的时候,会同时启动一个 hive 副本。
client 是 hive 的客户端,用户连接至 hive server。在启动 client 模式的时候,需要指出 hive server 所在节点,
并且在该节点启动 hive server。 wui 是通过浏览器访问 hive。

元数据存储:
hive将元数据存储在数据库中,如mysql、debty。hive中的元数据包括表的名字,表的列和分区及其属性,
表的属性(是否为外部表等),表的数据所在目录等。

解释器、编译器、优化器、执行器:
解释器、编译器、优化器完成 hql 查询语句从词法分析、语法分析、编译、优化以及查询计划的生成。
生成的查询计划存储在 hdfs 中,并在随后由 mapreduce 调用执行。

6.类sql的查询方式,将sql查询转换为mapreduce的job在hadoop集群上执行。

 

hive之大数据仓库