Apache 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
2. sqoop安装
安装sqoop的前提是已经具备java和hadoop的环境。
最新稳定版: 1.4.6
配置文件修改:
cd $SQOOP_HOME/conf
拷贝sqoop-env-template.sh临时配置文件,更名为sqoop-env.sh
mv sqoop-env-template.sh sqoop-env.sh
编辑:sqoop-env.sh 配置文件
vi sqoop-env.sh
export HADOOP_COMMON_HOME= ${HADOOP_HOME}
``````bash
export HADOOP_MAPRED_HOME= ${ HADOOP_HOME}
``````bash
export HIVE_HOME= ${HIVE_HOME}
加入mysql的jdbc驱动包
``````bash
cp /hive-1.1.0-cdh5.14.0/lib/mysql-connector-java-5.1.32.jar $SQOOP_HOME/lib/
验证启动
bin/sqoop list-databases \
安装mysql的的节点名称
--connect jdbc:mysql://node01:3306/ \
账号 密码
--username root --password 123456
本命令会列出所有mysql的数据库。
到这里,整个Sqoop安装工作完成。