Hive导论

hive 中文文档翻译:
hive中文文档

hive gitbook

Hive它是什么:

是一种数据仓库工具,基于Hadoop的一种数据仓库工具。
可以将结构化的数据文件映射为一种数据库表,并提供类SQL查询功能
本质是将HSQL转换成mapreduce程序
HDFS是文件一种系统管理系统
Hive对应着HDFS的文件

Hadoop 包含两个模块:MapReduce和HDFS。

HDFS是用于存储和处理数据集
MapReduce是一种并行编程模型。

Hadoop包含了其他工具,现在是一系列的体系,包含但不限于:

Sqoop:用于导入与导出数据
Pig:开发MapReduce操作语言的平台
Hive:一种数据仓库
HQL:数据仓库的工具--ETL工具

Hive的特点:

专为OLAP设计,
自带SQL类型语言:HQL,
可扩展。

常见的数据仓库模型:
星形模型(面向主题的模型)
雪花模型(基于星形模型的发展,核心的转变)

按照颗粒度的顺序,Hive数据被组织成:

数据库
表
分区:每个表可以有一个或多个用于决定数据如何存储的分区键
桶:每个分区的数据,基于表的一些列的哈希函数值,又被分割成桶

HIVE的数据类型:

数字(Tinyint,smallint,int,bigint,float,double,decimal)
日期/时间(timestamp,date,interval)
字符(string,varchar,char)
杂型(boolean,binary)
复杂类型(array,maps,struct)

安装启动:

hive启动前需要启动hadoop(基于hadoop的HDFS)。

hive的配置文件要写好!!!

hive的配置文件要写好!!!

hive的配置文件要写好!!!

首次的启动需要初始化schema,

./schematool -initSchema -dbType derby(或者其他的数据库,如MySQL)

安装远程模式和本地模式,初始化schema:

前提:需要修改配置文件中的主机,并且保证mysql数据库能被远程(Linux)访问

./schematool -initSchema -dbType mysql()

启动hadoop:

start-all.sh 

启动hive:

hive 

退出hive:

exit;

停止hadoop:

stop-all.sh 

已经搭建好的平台,最好不要更新,不然所配置的文件都要更新,而且可能会出错。

Hadoop书单:

hadoop :the definitive guide(hadoop权威指南)
hadoop in action
hadoop in practice

hive启动配置远程的数据库的时候,在启动hive前,要初始化hive