环境
1)Linux 6.4
2)jdk 1.8.0_201
3)hadoop 2.7.3
4)apache-hive-1.2.1-bin.tar.gz
5)mysql 5.x
hive是什么?
hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供简单的sql查询功能,可以将sql语句转换为MapReduce任务进行运行。 其优点是学习成本低,可以通过类SQL语句快速实现简单的MapReduce统计,不必开发专门的MapReduce应用,十分适合数据仓库的统计分析。
将SQL语句转换成MapReduce程序,并且提交到Yarn上运行,读取HDFS上的数据进行处理。
安装
1)上传、解压、重命名
2)修改配置文件
hive-env.sh
重命名
mv hive-env.sh.template hive-env.sh
修改:
3)创建数据仓库
hive 的数据需要保存到HDFS,hive会去读默认路径,但是这些目录是空,需要去创建
4)基本使用
启动交互式命令:bin/hive
牛刀小试
1)准备数据上传到linux中
tb_word.sql
zs 1
ls 1
zs 1
wu 2
zs 1
wu 8
ml 1
zs 1
2)进入hive交互命令
使用default创建数据表
CREATE TABLE tb_word(
word STRING,
count INT
)
ROW FORMAT DELIMITED FIELDS TERMINATED BY '\t'
LINES TERMINATED BY '\n';
DROP TABLE IF EXISTS tb_word
3)加载数据到数据库
LOAD DATA LOCAL INPATH '/opt/datas/tb_word.sql' INTO TABLE tb_word;
4)测试
select
word,count(count) count
from tb_word
group by word
结果: