一、Hive CLI命令行演示
搭建Hive环境请看这篇文章:Hive介绍与环境搭建-CSDN博客https://blog.csdn.net/m0_70988704/article/details/137839237?spm=1001.2014.3001.5501
1.在终端输入下面的指令。进入Hive CLl交互式命令行模式
hive
2.创建数据库
create database db1;
3.创建表 hiveTestTable
hive> create table if not exists db1.hiveTestTable1(
> ip string,
> time string,
> url string,
> size string
> )
> row format delimited fields terminated by '\t';
4.载入数据到hiveTestTable1表中
load data local inpath '此处为你的数据地址'into table db1.hiveTestTable1;
5.查看表 hiveTestTable1中的数据
select * from db1.hiveTestTable1;
6.从表hiveTestTable1查询部分数据,并将其作为依据来创建表hiveTestTable2
create table db1.hiveTestTable2 as select ip,time,url from db1.hiveTestTable1;
7.查询表hiveTestTable2中的数据
select * from db1.testTestTable2;
8.利用表hiveTestTable2的结构创建表hiveTestTable3
create table if not exists db1.hiveTestTable3 like db1.hiveTestTable2;
9.查看表hiveTestTable3的表结构
desc db1.TestTable3;
二、利用Hive对淘宝用户数据进行处理
1.将要用的数据文件放到/usr/local目录下
[qyf@master local]$ sudo mv /home/qyf/Desktop/user.zip /usr/local
2.给予权限并解压
[qyf@master local]$ sudo chmod -R 777 /usr/local
[qyf@master local]$ sudo unzip ./user.zip -d /usr/local
3. 查看前五行数据
[qyf@master local]$ head -5 raw_user.csv
4.对解压好的两个文件 raw_user.csv和small_user.csv进行操作,删除user_id一列
[qyf@master local]$ sed -i '1d' raw_user.csv
[qyf@master local]$ head -5 small_user.csv # 查看是否删除
[qyf@master local]$ sed -i '1d' small_user.csv
5.利用shell脚本分别格式化small_user.csv和raw_user.csv文件,将里面的内容分别加入到f.txt文件g.txt文件里
[qyf@master local]$ bash ./pre_deal.sh small_user.csv f.txt
[qyf@master local]$ bash ./pre_deal.sh raw_user.csv g.txt
6. 启动hadoop集群,并且打开hive命令行,创建表taobao_user_data1
hive> create table if not exists db1.taobao_user_data1(
> id string,
> user_id string,
> item_id string,
> behavior string,
> user_geohash string,
> time string,
> location string
> )
> row format delimited fields terminated by '\t';