sqoop将数据的导入和导出

1. 在mysql中创建表


2. 导入hdfs中

# 将表student导入hdfs中
sqoop import 
--connect jdbc:mysql://node1:3306/shixun?serverTimezone=UTC 
--username root 
--password Jsq123456... 
--table student 
--target-dir /student 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by ","

3. 通过sql语句导入hdfs中

# 通过sql将数据导入hdfs中
sqoop 
import --connect jdbc:mysql://node1:3306/shixun?serverTimezone=UTC 
--username root 
--password Jsq123456... 
--query "select * from student where sname='zs' and \$CONDITIONS" 
--target-dir /student 
--delete-target-dir 
--num-mappers 1 
--fields-terminated-by ","

4. 导入hive中

sqoop 
import --connect jdbc:mysql://node1:3306/shixun?serverTimezone=UTC 
--username root 
--password Jsq123456... 
--table student 
--num-mappers 1 
--hive-import 
--fields-terminated-by "\t" 
--hive-overwrite 
--hive-table test.student;

5. 将HDFS、Hive中的数据 导出到MySQL数据库中

注意:
1. double对应的时候,不对应double,对应varchar
2. hive中的路径必须存在,数据必须存在


sqoop 
export --connect "jdbc:mysql://node1:3306/shixun?serverTimezone=UTC&useUnicode=true&characterEncoding=utf-8" 
--username root 
--password Jsq123456... 
--table dept 
--num-mappers 1 
--export-dir "/user/hive/warehouse/test.db/dept" 
--input-fields-terminated-by ","

6. 通过命令 导文件中的命令

sqoop --options-file 文件名.opt

posted @ 2022-08-04 22:40  jsqup  阅读(169)  评论(0编辑  收藏  举报