大数据Hadoop之——数据仓库Hive
- HIVE介绍
Hive是基于Hadoop的一个数据仓库(Data Aarehouse,简称数仓、DW),可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。是用于存储、分析、报告的数据系统。
在Hadoop生态系统中,HDFS用于存储数据,Yarn用于资源管理,MapReduce用于数据处理,而Hive是构建在Hadoop之上的数据仓库,包括以下方面:
- 使用HQL作为查询接口;
- 使用HDFS存储;
- 使用MapReduce或其它计算框架计算;
- 执行程序运行在Yarn上
- 本质上是: 将HIVE SQL 转化成MapReduce程序,适合离线数据的处理
二、Hive工作原理
三、HIVE基本数据类型
- HIVE分区表和分桶表
在大数据处理过程中,Hive是一种非常常用的数据仓库工具。Hive分区和桶是优化Hive性能的两种方式,它们的区别如下:
- 分区表
Hive支持根据用户指定的字段进行分区,分区的字段可以是日期、地域、种类等具有标识意义的字段。
Hive分区的主要作用是:
提高查询效率: 使用分区对数据进行访问时,系统只需要读取和此次查询相关的分区,避免了全表扫描,从而显著提高查询效率。
降低存储成本: 分区可以更加方便的删除过期数据,减少不必要的存储。
(1)静态分区
CREATE TABLE table_name (column1 data_type, column2 data_type)
PARTITIONED BY (partition1 data_type, partition2 data_type,….);
静态分区是指通过手动指定分区列的值来创建分区
CREATE TABLE sales (
id int,
date string,
amount double