sqoop HDFS 导入 mysql

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/guohan_solft/article/details/79331889

一、hdfs导入mysql

注意:在mysql导入hive时可以自动创建表,而hdfs导入mysql时则不能在mysql中自动创建表,因此导入前准备工作,在mysql中建议需要导入的表!

1、最简单的导入

准备工作:在mysql中建表

create table emp_import (id int,name varchar(45),age int);

hdfs中/emp_db下存在文件part-m-00000,内容如下

1,guohan,30
2,hanhan,23
3,han,15
4,hujing,10

开始导入,执行如下命令:

sqoop export \
--connect jdbc:mysql://mini1:3306/emp_db \
--password root \
--username root \
--table emp_import \
--export-dir /emp_db \
--m 1

注意:此处未指定–input-fields-terminated-by ‘,’ ,证明默认分隔符为逗号

二、 hive导mysql

原理:就是hdfs导mysql,找到hive表在hdfs上的路径,执行导入即可,注意使用–input-fields-terminated-by ’ ’
将hive中的表dw_oute_ratio_ration_cp数据导到mysql的dw_oute_ratio_ration表中,注意hive中的表字段间是用’\001’来作分隔符的
hive表数据内容如下
这里写图片描述

sqoop export \
--connect jdbc:mysql://mini1:3306/click_data \
--username root \
--password root \
--table dw_oute_ratio_ration \
--export-dir /user/hive/warehouse/shizhang.db/dw_oute_ratio_ration_cp \
--input-fields-terminated-by '\001' 

运行结束后提示Export job failed!但去mysql中查询,数据已经导入成功!

猜你喜欢

转载自blog.csdn.net/guohan_solft/article/details/79331889
今日推荐