一、Sqoop介绍

*
Sqoop是一个用来将关系型数据库和Hadoop中的数据进行相互转移的工具,可以将一个关系型数据库(例如Mysql、Oracle)中的数据导入到Hadoop(例如HDFS、Hive、Hbase)中,也可以将Hadoop(例如HDFS、Hive、Hbase)中的数据导入到关系型数据库(例如Mysql、Oracle)中。


* Sqoop工具接收到客户端的shell命令或者Java api命令后,通过Sqoop中的任务翻译器(Task
Translator)将命令转换为对应的MapReduce任务,而后将关系型数据库和Hadoop中的数据进行相互转移,进而完成数据的拷贝。


二、导入数据 

1.  参数说明
​## 链接MySQL数据库url --connect jdbc:mysql://127.0.0.1:3306/test_db ##
链接MySQL数据库用户名 --username root ## 链接MySQL数据库密码 --password 123456 ##
链接MySQL数据库中的表 --table tb1 ## 设置map的个数 --num-mappers 1 ## 设置导入到hdfs文件所在的位置
--target-dir /datas/sqoop/input ## 设置导入到hdfs文件前先删除已经存在的目录 --delete-target-dir
## 设置导入到hdfs文件的分隔符 --fields-teminated-by ',' ## 设置增量导入到hdfs上的检查列 --check-column
id ## 设置增量导入到hdfs上的追加方式 --incremental append ## 设置增量导入到hdfs上的开始位置 --last-value
4 ## 设置增量导入到hdfs上的文件存储格式 --as-parquetfile ## 指定hive中的数据库 --hive-database
test_db ## 设置操作类型 --hive-import ## 指定hive中的表 --hive-table tb1 ##
备注:delete-target-dir和incremental append不能同时使用
2.  Sqoop获取MySQL的所有数据库
sqoop list-databases \ --connect jdbc:mysql://127.0.0.1:3306 \ --username root
\ --password 123456;
3.  Sqoop从MySQL导入数据到HDFS
sqoop import \ --connect jdbc:mysql://127.0.0.1:3306/test_db \ --username root
\ --password 123456 \ --table tb1 \ --num-mappers 1 \ --target-dir
/datas/sqoop/input \ --delete-target-dir;
4.  Sqoop从MySQL导入数据到Hive
sqoop import \ --connect jdbc:mysql://127.0.0.1:3306/test \ --username root \
--password 123456 \ --table tb1 \ --num-mappers 1 \ --fields-terminated-by ','
\ --delete-target-dir \ --hive-database test \ --hive-import \ --hive-table tb1;
三、导出数据

1.  参数说明
## 链接MySQL数据库url --connect jdbc:mysql://127.0.0.1:3306/test_db ##
链接MySQL数据库用户名 --username root ## 链接MySQL数据库密码 --password 123456 ##
链接MySQL数据库中的表 --table tb1 ## 设置map的个数 --num-mappers 1 ## 设置hdfs文件导出的分隔符
--fields-terminated-by ',' ## 设置hdfs文件所在的位置 --export-dir
/user/hive/warehouse/test_db.db/tb1
2.  Sqoop从Hive导出数据到MySQL
sqoop export \ --connect jdbc:mysql://127.0.0.1:3306/test_db \ --username root
\ --password 123456 \ --table tb1 \ --num-mappers 1 \ --fields-terminated-by
',' \ --export-dir /user/hive/warehouse/test_db.db/tb1;

友情链接
KaDraw流程图
API参考文档
OK工具箱
云服务器优惠
阿里云优惠券
腾讯云优惠券
华为云优惠券
站点信息
问题反馈
邮箱:ixiaoyang8@qq.com
QQ群:637538335
关注微信