SQOOP是用于对数据进行导入导出的。
(1)把MySQL、Oracle等数据库中的数据导入到HDFS、Hive、HBase中
(2)把HDFS、Hive、HBase中的数据导出到MySQL、Oracle等数据库中
1.安装SQOOP
1.1先将SQOOP文件放到/usr/local/下
1.2解压SQOOP
执行命令:tar -zxvf sqoop-1.4.3.bin_*******
1.3改名字
执行命令:mv sqoop-1.4.3.bin_******* sqoop
1.4设置环境变量
执行命令:vi /etc/profile
export SQOOP_HOME=/usr/local/sqoop export PATH=****:$SQOOP_HOME/bin:******
source /etc/profile
1.5操作
执行命令:cd bin
sqoop help
1.6将mysql与SQOOP联系起来,需要将mysql的驱动复制到SQOOP的lib文件下
执行命令:
cd .. //退出bin
cp ../hive/lib/mysql-connection-java-5.1.10.jar ./lib/ cd lib/ ls
2.把数据从mysql导入到hdfs(默认是/user/<username>)中
sqoop import --connect jdbc:mysql://hadoop0:3306/hive --username root --password admin --table TBLS --fields-terminated-by ' ' --null-string '**' -m 1 --append --hive-import
sqoop import --connect jdbc:mysql://hadoop0:3306/hive --username root --password admin --table TBLS --fields-terminated-by ' ' --null-string '**' -m 1 --append --hive-import --check-column 'TBL_ID' --incremental append --last-value 6
3.把数据从hdfs导出到mysql中
sqoop export --connect jdbc:mysql://hadoop0:3306/hive --username root --password admin --table ids --fields-terminated-by ' ' --export-dir '/ids'
4.设置为作业,运行作业
sqoop job --create myjob -- import --connect jdbc:mysql://hadoop0:3306/hive --username root --password admin --table TBLS --fields-terminated-by ' ' --null-string '**' -m 1 --append --hive-import
5. 导入导出的事务是以Mapper任务为单位。