原理
介绍
Apache Sqoop是在Hadoop生态体系和RDBMS体系之间传送数据的一种工具。来自于Apache软件基金会提供。
Sqoop工作机制是将导入或导出命令翻译成mapreduce程序来实现。在翻译出的mapreduce中主要是对inputformat和outputformat进行定制。
Hadoop生态系统包括:HDFS、Hive、Hbase等
RDBMS体系包括:Mysql、Oracle、DB2等
Sqoop可以理解为:“SQL 到 Hadoop 和 Hadoop 到SQL”。
架构

导入流程
- 首先通过jdbc读取关系型数据库元数据信息,获取到表结构。
- 根据元数据信息生成Java类。
- 启动import程序,通过jdbc读取关系型数据库数据,并通过上一步的Java类进行序列化。
- MapReduce并行写数据到Hadoop中,并使用Java类进行反序列化。
导出流程
- sqoop通过jdbc读取关系型数据库元数据,获取到表结构信息,生成Java类。
- MapReduce并行读取hdfs数据,并且通过Java类进行序列化。
- export程序启动,通过Java类反序列化,同时启动多个map,通过jdbc将数据写入到关系型数据库中。

Sqoop的安装
选择已经安装好hive镜像,里面以及安装过mysql,hadoop ,zookeeper,hive。根据自己资源情况调整cpu和内存的资源。
镜像地址:http://cloud.hainiubl.com/#/privateImageDetail?id=2953&imageType=private。选择添加到实验配置
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-KW9oqRKk-1687226396109)(C:\Users\chehongyan_win10tax\AppData\Local\Temp\ksohtml12812\wps1.jpg)]
1 将sqoop安装包解压到/usr/local目录下
tar -zxvf /public/software/bigdata/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /usr/local/
2 创建软链接
ln -s sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop

3 修改sqoop安装目录的所有者和属组
chown -R hadoop:hadoop sqoop-1.4.7.bin__hadoop-2.6.0/
4 修改sqoop环境变量
#添加到/etc/profile文件中
export SQOOP_HOME=/usr/local/sqoop
export PATH=$PATH:$SQOOP_HOME/bin
#让环境变量立即生效
source /etc/profile
5 测试sqoop
# shell 里执行 sqoop 命令
sqoop help
6 导入mysql驱动包到sqooplib目录下
cp /usr/local/hive/lib/mysql-connector-java-5.1.49.jar /usr/local/sqoop/lib/
al/hive/lib/mysql-connector-java-5.1.49.jar /usr/local/sqoop/lib/
994

被折叠的 条评论
为什么被折叠?



