Sqoop导出

1.从hdfs导出到mysql里

  1. 要在mysql中创建相对应的表,因为他不会自动创建表,所以我我们在mysql中,根据hdfs文件中的数据,创建对应的表

1
2
3
4
5
6
7
8
sqoop export \
--connect jdbc:mysql://master:3306/sqoop \
--username root \
--password 123456 \
--export-dir hdfs路径指定到文件 \ # 要导出的文件
--table emp \ # 导出到哪张Mysql表
--num-mappers 1 \
--input-fields-terminated-by '|' # 分隔符

2.从hive导出到Mysql中

sqoop的export命令支持insert、update到关系型数据库,但是不支持merge

1.hive表导入Mysql数据库insert(直接写入)

1
2
3
4
5
6
7
8
sqoop export \
--connect jdbc:mysql://master:3306/sqoop_db \
--username root \
--password 123456 \
--export-dir /user/hive/warehouse/hkjcpdd.db/city1 \
--table cityhkjcpdd
--num-mappers 4
--fields-terminated-by ','

2.从hive表导入mysql数据库update(追加替换相同)

1
2
3
4
5
6
7
sqoop import \
--connect jdbc:mysql://master:3306/sqoop_db \
--username root \
--password 123456 \
--export-dir /user/hive/warehouse/hkjcpdd.db/city1 \
--update-key id \ # 根据id来进行去重
--fields-terminated-by '\t'