Hive数据仓库以及简单的应用
Hive是什么、主要做些什么
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。
SQL–>HiveQL–>MR的语言翻译器
构建在Hadoop上的数据仓库框架,数据计算使用MapReduce,数据存储使用HDFS。
设计目的是让SQL技能良好,但Java技能较弱的分析师可以查询海量数据。
Hive 定义了一种类 SQL 查询语言——HQL(类似SQL,但不完全相同)。
通常用于进行离线数据处理(采用MapReduce)
分区、分桶
分区:按照经常查询的字段做不同的分区,从业务字段角度划分,主要用于查询。如按日志产生的日期列进行分区。
分桶:对列值哈希来组织数据的方式,从纯数据角度划分,主要就是用于抽样,表连接。
Hive的工作流程
各功能块做的工作
hive的元数据信息存储在MySQL,如,数据库相关的元数据表DBS:
hive的另一部分实际的数据文件,存放在hdfs上。