当前位置: 代码迷 >> 综合 >> 大数据技术之Hive第10章 Sqoop
  详细解决方案

大数据技术之Hive第10章 Sqoop

热度:28   发布时间:2024-01-22 01:17:09.0

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

  1. 配置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