Sqoop

本文详细介绍了如何利用Sqoop工具实现从MySQL、Oracle等关系型数据库到HDFS和HBase的数据导入,以及从HDFS文件系统反向导出到关系型数据库的功能。包括初次连接数据库时的注意事项、远程连接问题的解决方法、数据导入与导出的具体命令及步骤,以及如何实现增量数据更新。同时,生成的Java类文件在操作完成后会保存在当前工作目录下。
摘要由CSDN通过智能技术生成

是一个用来将Hive或Hbase,HDFS和关系型数据库中的数据相互转移的工具


可以将mysql ,oracle,Postgres......各种关系型数据库的数据导入hadoop的hdfs上,也可以将HDFS文件系统上的数据导入关系型数据库中


正常安装完Sqoop后:

(1)Sqoop初次连接mysql:(将mysql-5.1.36驱动包放到sqoop的lib下,mysql-5.1.7有bug)

   sqoop list-databases --connect jdbc:mysql://AJBC-1774:3306/  --username root --password 19930121

命令打错导致耗了点时间。

同时也出现了点错误,

 (2) Caused by: java.sql.SQLException: null,  message from server: "Host 'spark' is not allowed to connect to this MySQL server"

是由于mysql不能远程连接导致的

解决方法是:

mysql>use mysql;

mysql>update user set host =’%'where user =’root’;

mysql>flush privileges;

(3)sqoop导入数据到HDFS上面(mysql驱动包与sqoop.jar放到hadoop的lib下面)

 sqoop import --connect jdbc:mysql://AJBC-1774:3306/sqoop  --username root --password 19930121 --table test1  -m 1 -target-dir    /sqoop1

启动一个map处理,还有就是成功以后文件就导入hdfs,同时也生成一个java类在当前的工作目录下

(4)sqoop增量导出HDFS(以id增量导出)

 sqoop import --connect jdbc:mysql://AJBC-1774:3306/sqoop  --username root --password 19930121 --table test1  -m 1 -target-dir /sqoop1  -check-column id     -incremental append

生成的文件在同个文件夹下面




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值