赞
踩
数据仓库(Data Warehouse)是一个面向主题的(Subject Oriented)、集成的(Integrated)、相对稳定的(Non-Volatile)、反映历史变化(Time Variant)的数据集合,用于支持管理决策。
Hive具有的特点非常适用于数据仓库。
(1)采用批处理方式处理海量数据
(2)提供适合数据仓库操作的工具
(3)支持MapReduce,Tez,Spark等多种计算引擎。
(4)可以直接访问HDFS文件以及HBase。
(5)易用易编程。
Hive的优点:
Hive的缺点:
Hive在很多方面和传统的关系数据库类似,但是它的底层依赖的是HDFS和MapReduce,所以在很多方面又有别于传统数据库。
Hive是一种数据仓库处理工具,使用类SQL的HiveQL语言实现数据查询功能,所有的Hive数据都存储在HDFS中。
用户接口模块包括CLI、HWI、JDBC、ODBC、Thrift Server。
驱动模块(Driver)包括编译器、优化器、执行器等,负责把HiveSQL语句转换成一系列MapReduce作业。
元数据存储模块(Metastore)是一个独立的关系型数据库(自带derby数据库,或MySQL数据库)。
Hive分为三个角色:HiveServer、MetaStore、WebHcat。
HCatalog包括Hcatalog Client和Hcatalog Server:
WebHCat提供Rest接口,是用户能够通过安全的HTTPS协议执行以下操作:
分区:数据表可以按照某个字段的值划分分区。
桶:数据可以根据桶的方式将不同数据放入不同的桶中。
Hive可以创建托管表和外部表:
Hive支持的函数:
Hive内置函数:
UDF(User-Defined Funcation)用户自定义函数。
存在一个分组(Group By)操作,其功能是把表Score的不同片段按照rank和level的组合值进行合并,计算不同rank和level的组和值分别有几条记录。
当用户向Hive输入一段命令或查询时,Hive需要与Hadoop交互工作来完成该操作:
详细如果如下:
几点说明:
#Hive增强特性
Colocation(同分布):将存在关联关系的数据或可能进行管理操作的数据存储在相同的存储节点上。
文件级同分布实现文件的快速访问,避免了因数据搬迁带来的大量网络开销。
在Hive on HBase功能汇总,FusionInsight HD Hive提供了对HBase表的单条数据的删除功能,通过特定的语法,Hive可以将HBase表中符合条件的一条或多条数据批量清除。
通过流控特性,可以实现:
以上内容为听华为大数据培训课程和大学MOOC上厦门大学 林子雨的《大数据技术原理与应用》课程而整理的笔记。
大数据技术原理与应用: https://www.icourse163.org/course/XMU-1002335004
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。