Apache Sqoop
1. sqoop介绍
Apache Sqoop是在Hadoop生态体系和RDBMS体系之间传送数据的一种工具。
来自于Apache软件基金会提供。
Sqoop工作机制是将导入或导出命令翻译成mapreduce程序来实现。在翻译出的mapreduce中主要是对inputformat和outputformat进行定制。
Hadoop生态系统包括:HDFS、Hive、Hbase等
RDBMS体系包括:Mysql、Oracle、DB2等
Sqoop可以理解为:“SQL 到 Hadoop 和 Hadoop 到SQL”。
站在Apache立场看待数据流转问题,可以分为数据的导入导出:
Import:数据导入。RDBMS----->Hadoop
Export:数据导出。Hadoop---->RDBMS
1.Sqoop安装
安装sqoop的前提是已经具备java和hadoop的环境。
第一步:上传压缩包
解压
tar -zxvf sqoop-1.4.6.bin__hadoop-2.0.4-alpha -C /export/servers
第二步:在文件里面添加配置
cd /export/servers/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/conf
mv sqoop-env-template.sh sqoop-env.sh
vim sqoop-env.sh
export HADOOP_COMMON_HOME= /export/servers/hadoop-2.6.0-cdh5.14.0
export HADOOP_MAPRED_HOME= /export/servers/hadoop-2.6.0-cdh5.14.0
export HIVE_HOME= /export/servers/hive-1.1.0-cdh5.14.0
文件里面对应的是安装包存放路径
第三步:添加mysql的jdbc驱动包
cp /hive/lib/mysql-connector-java-5.1.32.jar /export/servers/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/lib/
验证启动
cd /export/servers/sqoop-1.4.6.bin__hadoop-2.0.4-alpha/
bin/sqoop list-databases \
--connect jdbc:mysql://localhost:3306/ \
--username 用户名 --password 密码
本命令会列出所有mysql的数据库。
到这里,整个Sqoop安装工作完成。
添加环境 SQOOP_HOME=sqoop安装路径
vim /etc/profile.d/sqoop.sh
export SQOOP_HOME=/export/servers/sqoop-1.4.6.bin__hadoop-2.0.4-alpha
export PATH=$PATH:$SQOOP_HOME/bin