Hadoop学习之Hive简介
2017-08-17 23:09
330 查看
1.Hive是什么
起源自facebook由Jeff Hammerbacher领导的团队构建在Hadoop上的数据仓库框架
设计目的是让SQL技能良好,但Java技能较弱的分析师可以查询海量数据
2008年facebook把hive项目贡献给Apache
由facebook开源,最初用于解决海量结构化的日志数据统计问题;
ETL(Extraction-Transformation-Loading)数据抽取、加载、处理工具
构建在Hadoop之上的数据仓库;
数据计算使用MR,数据存储使用HDFS
Hive 定义了一种类 SQL 查询语言——HQL;
类似SQL,但不完全相同
通常用于进行离线数据处理(采用MapReduce);
可认为是一个HQL→MR的语言翻译器。
数据仓库工具。可以把Hadoop下的原始结构化数据变成Hive中的表
支持一种与SQL几乎完全相同的语言HiveQL。除了不支持更新、索引和事务,几乎SQL的其它特征都能支持
可以看成是从SQL到Map-Reduce的映射器
提供shell、JDBC/ODBC、Thrift、Web等接口
2. Hive架构
1.Hive的基本架构
用户接口
包括 CLI,JDBC/ODBC,WebUI
元数据存储(metastore)
默认存储在自带的数据库derby中,线上使用时一般换为MySQL
驱动器(Driver)
解释器、编译器、优化器、执行器
Hadoop
用 MapReduce 进行计算,用 HDFS 进行存储
2.Hive的数据存储
Hive没有专门的数据存储格式,也没有为数据建立索引,用户可以非常自由的组织 Hive 中的表。
Hive 中所有的数据都存储在 HDFS 中,Hive 中包含以下数据模型:Table,External Table,Partition,Bucket。
Hive 中的 Table 和数据库中的 Table 在概念上是类似的,每一个 Table 在 Hive 中都有一个相应的目录存储数据。
例如表 tbl_pv放在目录 /wh/tbl_pv中,这里wh为hive-site.xml中${hive.metastore.warehouse.dir} 指定的数据仓库目录。
Hive 表中的一个 Partition 对应于表下的一个目录,所有的 Partition 的数据都存储在对应的目录中。
例如:tbl_pv 表中包含 ds 和 city 两个 Partition,则对应于 ds = 20090801, ctry = US 的 HDFS 子目录为:/wh/tbl_pv/ds=20090801/ctry=US;对应于 ds = 20090801, ctry = CA 的 HDFS 子目录为/wh/pvs/ds=20090801/ctry=CA
Buckets 对指定列计算 hash,根据 hash 值切分数据,每一个 Bucket 对应一个文件。可用于采样:
CREATE TABLE sales( id INT, name STRING) PARITIONED BY (ds STRING) CLUSTERED BY (id) INTO 32 BUCKETS; SELECT id FROM sales TABLESAMPLE (BUCKET 1 OUT OF 32);
External Table 指向已经在 HDFS 中存在的数据,可以创建 Partition
相关文章推荐
- Hadoop学习笔记(三):Hive简介
- Hive简介、什么是Hive、为什么使用Hive、Hive的特点、Hive架构图、Hive基本组成、Hive与Hadoop的关系、Hive与传统数据库对比、Hive数据存储(来自学习资料)
- Hadoop学习笔记(三):Hive简介
- hadoop生态系统学习之路(八)hbase与hive的数据同步以及hive与impala的数据同步
- [转载] Hadoop/Hive简介
- 安装、进程-云计算学习笔记---hadoop的简介,以及安装,用命令实现对hdfs系统进行文件的上传下载-by小雨
- hadoop学习(二)----HDFS简介及原理
- Hadoop/Hive简介
- Hadoop 学习总结之一:HDFS简介
- 基于Hadoop的数据仓库Hive 学习指南
- Hadoop学习笔记之Hive
- 学习Hadoop第三十课(Hive简单入门)
- Hadoop入门第五篇:Hive简介以及部署
- Hadoop 学习笔记之Hive安装
- hadoop2.5.2学习13-MR之新浪微博TF-IDF算法简介
- Hadoop 学习总结之一:HDFS简介
- hive学习(1)——hive简介
- hadoop学习之--Hive笔记
- Hadoop学习第七次:MapReduce简介
- Hadoop学习笔记-009-CentOS_6.5_64_HA高可用-Hadoop2.6+Zookeeper3.4.5安装Hive1.1.0