10.1 Sqoop概述
Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql、postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle ,Postgres等)中的数据导进到Hadoop的HDFS中,也可以将HDFS的数据导进到关系型数据库中。
Sqoop项目开始于2009年,最早是作为Hadoop的一个第三方模块存在,后来为了让使用者能够快速部署,也为了让开发人员能够更快速的迭代开发,Sqoop独立成为一个Apache项目。
最新的稳定版本是1.4.7。Sqoop2的最新版本是1.99.7。请注意,1.99.7与1.4.7不兼容,且没有特征不完整,它并不打算用于生产部署。
10.2 Sqoop下载与安装
10.2.1 Sqoop安装地址
1)Sqoop官网地址:
http://sqoop.apache.org/
2)文档查看地址:
http://sqoop.apache.org/docs/1.4.7/index.html
3)下载地址:
https://mirrors.tuna.tsinghua.edu.cn/apache/sqoop/1.4.7/
10.2.2 Sqoop安装部署
1) 把sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz上传到linux的/opt/software目录下
2) 解压sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz到/opt/module/目录下
[atguigu@hadoop102 software]$ tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz -C /opt/module/
3) 修改sqoop-1.4.7.bin__hadoop-2.6.0的名称为sqoop
[atguigu@hadoop102 software]$ mv sqoop-1.4.7.bin__hadoop-2.6.0/ sqoop
4) 修改/opt/module/sqoop/conf目录下的sqoop-env-template.sh名称为sqoop-env.sh
[atguigu@hadoop102 software]$ mv sqoop-env-template.sh sqoop-env.sh
[atguigu@hadoop102 software]$ mv sqoop-site-template.xml sqoop-site.xml
- 配置sqoop-env.sh文件
export HADOOP_COMMON_HOME=/opt/module/hadoop-2.7.2
export HADOOP_MAPRED_HOME=/opt/module/hadoop-2.7.2
export HIVE_HOME=/opt/module/hive
export ZOOKEEPER_HOME=/opt/module/zookeeper-3.4.10
export ZOOCFGDIR=/opt/module/zookeeper-3.4.10
10.2.3 添加JDBC驱动
拷贝/opt/software/mysql-libs/mysql-connector-java-5.1.27目录下的
mysql-connector-java-5.1.27-bin.jar到/opt/module/sqoop/lib/
[atguigu@hadoop102 mysql-connector-java-5.1.27]$ cp mysql-connector-java-5.1.27-bin.jar /opt/module/sqoop/lib/
10.2.4验证Sqoop
我们可以通过某一个co