使用sqoop从Hive导出数据到MySQL
启动hadoop:start-all.sh。
启动mysql:support-files/mysql.server start。
启动hive:hive。
在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';
分别编辑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
使用命令:
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'
上传数据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;
数据可视化(前端)需求: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";
其结果如下:
将其结果放到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
将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数据库中的表:
来源地址:https://blog.csdn.net/qq_58476985/article/details/130763114
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341