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
这里需要注意的是:
安装sqoop的前提是已经具备java和hadoop的环境。
还没配置好java或者hadoop集群环境的小伙伴们可以浏览小菌前面的文章哦~
目前最新稳定版为1.4.6
关于需要用的jar包,一共有两个
大家可以自行去官网下载或者在私信小菌都可以的哦~~
当我们jar包准备好了之后,直接解压后放到我们centos的/export/servers
目录下(目录位置可自定义)
然后vim /etc/profile.d/sqoop.sh
中设置我们sqoop的环境变量。
export SQOOP_HOME=/export/servers/sqoop-1.4.6.bin__hadoop-2.0.4-alpha
export PATH=$PATH:$SQOOP_HOME/bin
接着进入到sqoop的conf目录下
cd $SQOOP_HOME/conf
改文件名
mv sqoop-env-template.sh sqoop-env.sh
编辑内容
vi sqoop-env.sh
export HADOOP_COMMON_HOME= /export/servers/hadoop-2.7.5
export HADOOP_MAPRED_HOME= /export/servers/hadoop-2.7.5
export HIVE_HOME= /export/servers/hive
接下来还有至关重要的一步,就是 加入mysql的jdbc驱动包
cp /hive/lib/mysql-connector-java-5.1.32.jar $SQOOP_HOME/lib/
然后我们就可以验证启动啦
bin/sqoop list-databases \
--connect jdbc:mysql://localhost:3306/ \
--username root --password hadoop
这里我们连接的是本地的mysql数据库 到这里,整个Sqoop安装工作完成。
受益的小伙伴或对大数据技术感兴趣的朋友记得关注小菌哟٩(๑❛ᴗ❛๑)۶