使用sqoop从Hive导出数据到MySQL

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;

使用sqoop从Hive导出数据到MySQL_第1张图片

(课程信息:课程号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';

使用sqoop从Hive导出数据到MySQL_第2张图片

 

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;

使用sqoop从Hive导出数据到MySQL_第3张图片

 

select * from bigdata03.kcxx;

使用sqoop从Hive导出数据到MySQL_第4张图片

 

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";

其结果如下:

使用sqoop从Hive导出数据到MySQL_第5张图片

 

9、将其结果放到jg01表中:

create table bigdata03.jg01

(

xm String,

kcmc String,

xf String

)

row format delimited fields terminated by ','stored as textfile location '/jgdata';

使用sqoop从Hive导出数据到MySQL_第6张图片

 

插入分析出的结果:

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";

这样表示插入成功:

使用sqoop从Hive导出数据到MySQL_第7张图片

 

查看保存的结果数据:

使用sqoop从Hive导出数据到MySQL_第8张图片

查看其路径:

hdfs://192.168.10.130:9000/jgdata

查看根路径下面的文件:

hdfs dfs -ls /jgdata

使用sqoop从Hive导出数据到MySQL_第9张图片

10、将hive分析好的结果数据导出到mysql数据库中:

首先:在mysql中创建一张表:

CREATE TABLE hive_to_mysql(

xm VARCHAR(50),

kcmc VARCHAR(50),

xf INT

);

使用sqoop从Hive导出数据到MySQL_第10张图片

其次:使用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

运行结果:

使用sqoop从Hive导出数据到MySQL_第11张图片

在mysql中查询:hive分析好的结果数据导出到mysql数据库中的表:

使用sqoop从Hive导出数据到MySQL_第12张图片

你可能感兴趣的:(hadoop,hive,大数据)