一、下载sqoop和hadoop
wget http://archive.cloudera.com/cdh/3/sqoop-1.3.0-cdh3u1.tar.gz
wget http://archive.cloudera.com/cdh/3/hadoop-0.20.2-cdh3u1.tar.gz
二、解压
tar -zxvf sqoop-1.3.0-cdh3u1.tar.gz
tar -zxvf hadoop-0.20.2-cdh3u1.tar.gz
三、设置环境变量
export SQOOP_HOME=XXXXX
四、相关jar包拷贝
将Hadoop的hadoop-core-0.20.2-cdh3u1.jar、HBase的hbase-XXX.jar、ZooKeeper的 zookeeper-XXX.jar以及MySQL的mysql-connector-java-XXXX-bin.jar拷贝到Sqoop的lib目录下
五、设置远程访问Mysql数据库的权限
mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' WITH GRANT OPTION;
mysql> flush privileges;
六、sqoop的简单实用
1、查看mysql的数据库
./sqoop list-databases --connect jdbc:mysql://IP:PORT/ --username USER --password PASSWD
./sqoop list-databases --connect jdbc:mysql://IP:PORT/ --username USER -P (此方式更加安全一点)
2、查看数据库中的表
./sqoop list-tables --connect jdbc:mysql://IP:PORT/database --username USER -P
3、sqoop-import:RMDBS-->DFS
./sqoop import --verbose --fields-terminated-by '#' --connect jdbc:mysql://localhost:3306/mqs --username root --password 654321 --table dynamic_information --target-dir dynamic_information
_sqoop -m 1
4、sqoop-export:DFS-->RMDBS
./sqoop export --connect jdbc:mysql://localhost:3306/mqs --username root --password 654321 --table dynamic_information_test --export-dir dynamic_information_sqoop3 --input-fields-terminated-by '#'
5、选取一定条件的数据导入DFS
sqoop import --connect jdbc:mysql://IP:PORT/test --username USER --password PASSWD --query 'SELECT * FROM students WHERE age=26 AND $CONDITIONS' -m 1 --target-dir /test/student26
如果--query后面的SQL语句带有where,则一定要加上(and $conditions),否则会出错。
6、使用sqoop将mysql数据库中的数据导入hbase
sqoop import --connect jdbc:mysql://IP:PORT/test --table students --hbase-table sqoop_test --column-family st_info --hbase-row-key id --hbase-create-table --username USER --password PASSWD