sqoop作用: 用于将hdfs上的数据导到关系数据库中,或将关系数据库中的数据导入到hdfs上,本文以mysql为例
一、安装
从官网上下载http://mirrors.hust.edu.cn/apache/sqoop/1.4.4/, 我安装的hadoop版本为1.0.2所以下载的sqoop为:sqoop-1.4.4.bin__hadoop-1.0.0.tar.gz
将sqoop-1.4.4.bin__hadoop-1.0.0.tar.gz解压,然后将mysql-connector-java-5.1.28-bin.jar拷备到解压后的lib目录下,修改bin/configure-sqoop文件将不用到的HBASE ZOOKEEPER部分注释掉,在/etc/profile里配置sqoop环境变量:
export SQOOP_HOME=/home/chenxz/sqoop-1.4.4.bin__hadoop-1.0.0
PATH=$SQOOP_HOME/bin:$PATH
export PATH
二、准备工作
1.hdfs上导入到mysql时需要提前在mysql里创建相关的表。
2.mysql数据库需要创建远程帐号并授权:
grant all privileges on *.* to admin@"%" identified by '111111' with grant option;
三、测试mysql连接
bin/sqoop list-databases --connect jdbc:mysql://172.18.11.117:3306/ --username admin --password 111111
四、mysql导入到hdfs中
bin/sqoop import --connect jdbc:mysql://172.18.11.117/sqooptest --table people --username admin --password 111111 -m 1
五、hdfs导入到mysql中
bin/sqoop export --connect jdbc:mysql://172.18.11.117/sqooptest --table people --username admin --password 111111 --export-dir /user/root/people