1、启动hadoop:start-all.sh。
2、启动mysql:support-files/mysql.server start。
3、启动hive:hive。
4、在hive中创建表。
(学生信息:学号xh,姓名xm)xsxx:
create table bigdata03.xsxx
(
xh String,
xm String
)
row format delimited fields terminated by ','stored as textfile;
(课程信息:课程号kch,学号xh,课程名称kcmc,学分xf)kcxx
create table bigdata03.kcxx
(
kch String,
xh String,
kcmc String,
xf String
)
row format delimited fields terminated by ','stored as textfile location '/kc';
5、分别编辑xsxxdata和kcxxdata里面数据。
1》vim xsxxdata 编辑数据,数据如下:
201177010179,Tom
201177010180,Zou
201177010181,Lii
201177010182,Hezi
2》vim kcxxdata 编辑数据,数据如下:
C001,201177010179,ETL,2
C002,201177010180,Java,2
C003,201177010181,Hadoop,3
C004,201177010182,Spark,2
6、使用命令:
1》show create table bigdata03.xsxx;
2》show create table bigdata03.kcxx;
找到其路径备用:
1》LOCATION
'hdfs://192.168.10.130:9000/user/hive/warehouse/bigdata03.db/xsxx'
2》LOCATION
'hdfs://192.168.10.130:9000/kc'
7、上传数据xsxxdata到其找到的路径下:
1》hadoop fs -put xsxxdata hdfs://192.168.10.130:9000/user/hive/warehouse/bigdata03.db/xsxx
2》hadoop fs -put kcxxdata hdfs://192.168.10.130:9000/kc
上传成功,即可查看到其数据:
select * from bigdata03.xsxx;
select * from bigdata03.kcxx;
8、数据可视化(前端)需求:Tom选修了哪些课程,对应的每门课程有多少学分。
命令如下:
select
m.xm,n.kcmc,n.xf
from bigdata03.xsxx as m
join bigdata03.kcxx as n on m.xh=n.xh
where m.xm="Tom";
其结果如下:
9、将其结果放到jg01表中:
create table bigdata03.jg01
(
xm String,
kcmc String,
xf String
)
row format delimited fields terminated by ','stored as textfile location '/jgdata';
插入分析出的结果:
insert into bigdata03.jg01
select
m.xm,n.kcmc,n.xf
from bigdata03.xsxx as m
join bigdata03.kcxx as n on m.xh=n.xh
where m.xm="Tom";
这样表示插入成功:
查看保存的结果数据:
查看其路径:
hdfs://192.168.10.130:9000/jgdata
查看根路径下面的文件:
hdfs dfs -ls /jgdata
10、将hive分析好的结果数据导出到mysql数据库中:
首先:在mysql中创建一张表:
CREATE TABLE hive_to_mysql(
xm VARCHAR(50),
kcmc VARCHAR(50),
xf INT
);
其次:使用sqoop从hdfs上将分析好的数据导出到mysql中
命令:其中db03表示mysql的数据库,sqoop03表示mysql的用户名, hive_to_mysql表示在mysql中建的表,by ','表示以逗号作为分隔,jgdata表示所要导出的hive表。
sqoop export -connect jdbc:mysql://192.168.10.130:3306/db03 -username sqoop03 -password 123456 -table hive_to_mysql --fields-terminated-by ',' --export-dir /jgdata
运行结果:
在mysql中查询:hive分析好的结果数据导出到mysql数据库中的表: