概述
sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。
导入数据:MySQL,Oracle导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统;
导出数据:从Hadoop的文件系统中导出数据到关系数据库
工作机制
将导入或导出命令翻译成mapreduce程序来实现
在翻译出的mapreduce中主要是对inputformat和outputformat进行定制
安装
1.下载并解压
tar -zxvf sqoop-1.4.6.tar.gz -C /usr/local
2.修改配置文件
cd /usr/local/sqoop-1.4.6/conf
mv sqoop-env-template.sh sqoop-env.sh
vi sqoop-env.sh
export HADOOP_COMMON_HOME=/usr/local/hadoop-2.7.3
export HADOOP_MAPRED_HOME=/usr/local/hadoop-2.7.3
export HIVE_HOME=/usr/local/hive-1.2.1
3.加入mysql的jdbc驱动包
cp /usr/local/hive-1.2.1/lib/mysql-connector-java-5.1.7-bin.jar /usr/local/sqoop-1.4.6/lib/
4.验证启动
sqoop-version
使用案例
将关系型数据库中的表导入到hive中
bin/sqoop import --connect jdbc:mysql://mini2:3306/test --username hadoop --password hadoop1234 --table emp --hive-import -hive-table test.emp --m 1 --driver com.mysql.jdbc.Driver
注意:若表无主键,则–m(MapReduce数量只能为1)