Sqoop

来源:互联网 发布:软件需求变更 编辑:程序博客网 时间:2024/06/10 06:05

是一个用来将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

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




0 0
原创粉丝点击