#大数据# #hadoop# #Hadoop#
1 概述
1.1 sqoop的功能、作用
Sqoop主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。
Sqoop专为大数据批量传输设计,能够分割数据集并创建Hadoop任务来处理每个区块。
1.2 架构
将导入或导出命令翻译成 MapReduce 程序来实现,在翻译出的 MapReduce 中主要是对 InputFormat 和 OutputFormat 进行定制。
![d30f70ef8f9045e978e7eed5c9f09400.png](https://img-blog.csdnimg.cn/img_convert/d30f70ef8f9045e978e7eed5c9f09400.png)
2 环境设置
2.1 直接从docker启动
docker pull sf2gis/hadoop:sqoop01
docker run -p 8122:22 -p 8188:8088 -p 50170:50070 -p 50175:50075 -p 8120:8020 -p 19888:19888 -p 60110:60010 -p 60130:60030 -it --name sqoop01 --privileged -h hadoop-senior01.test.com --network=mynet --ip 172.18.0.2 sf2gis/hadoop: sqoop01
注意:需要HDFS支持。
2.2 配置文件
下载后解压:CDH(网站不显示,可以直接下载)
下载地址:http://www.java2s.com/Code/Jar/j/Downloadjavajsonjar.htm
配置sqoop-env.sh:增加hadoop环境变量
export HADOOP_COMMON_HOME=/opt/module/hadoop-2.6.0
export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.6.0
增加mysql驱动:copy mysql连接驱动到lib
增加json解析器:复制java-json.jar到lib,