Sqoop的使用

作者: super_wing | 来源:发表于2018-02-23 19:35 被阅读0次

1,什么是Sqoop

sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。
导入数据:可以从MySQL,Oracle等关系数据库中导入数据到Hadoop的HDFS、HIVE、HBASE等数据存储系统。
导出数据:从Hadoop的文件系统中导出数据到关系数据库。


image.png

2,Sqoop安装

下载地址:http://ftp.wayne.edu/apache/sqoop/1.4.7/ 从改地址下载sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz该文件

#到指定目录解压该文件
tar zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz
cd $SQOOP_HOME/conf
mv sqoop-env-template.sh sqoop-env.sh
#通过vi打开sqoop-env.sh并编辑如下配置文件
export HADOOP_COMMON_HOME=/home/hadoop/apps/hadoop-2.6.1/ #Hadoop的home路径
export HADOOP_MAPRED_HOME=/home/hadoop/apps/hadoop-2.6.1/ #Hadoop的home路径
export HIVE_HOME=/home/hadoop/apps/hive-1.2.1 #Hive的home路径

3,验证启动

cd $SQOOP_HOME/bin
sqoop-version

预期的输出:
15/12/17 14:52:32 INFO sqoop.Sqoop: Running Sqoop version: 1.4.7
到这里,整个Sqoop安装工作完成。

4,Sqoop的数据导入

导入语法如下

$ sqoop import (generic-args) (import-args) 

示例1

bin/sqoop import --connect jdbc:mysql://wing1:3306/sqoop_test --username root --password root --table emp --target-dir /data/input1 --m 1
#--connect表示连接所需要导出数据的数据库
#--username数据库的用户名
#--password数据库的密码
#--table导出那张表的数据
#--target-dir表示在hdfs上的存储路径
#--m表示几个map执行

示例2

bin/sqoop import --connect jdbc:mysql://wing1:3306/sqoop_test --username root --password root --table emp --where "name ='zhangsan'" --target-dir /data/input1 --m 1
#--where表示查询中的where条件

示例3

bin/sqoop import --connect jdbc:mysql://wing1:3306/sqoop_test --username root --password root --query 'select e.id, e.name, e.age, a.id as address_id, a.address from emp e left join emp_address a on e.id = a.emp_id and $CONDITIONS;' --split-by id --target-dir /data/input1 --m 1
#--query可以灵活的使用SQL语句进行各种查询

示例4

#该语法表示的是增量导入
bin/sqoop import --connect jdbc:mysql://wing1:3306/sqoop_test --username root --password root --table emp --incremental append --check-column id --last-value 1 --target-dir /data/input5 --m 1
#--incremental append表示增量导入
#--check-column id以ID为基准进行导入
#--last-value 1表从ID这个位置开始增量导入

示例5

#该语法表示的是从hdfs中导出数据到关系型数据库中
bin/sqoop export --connect jdbc:mysql://wing1:3306/sqoop_test2 --username root --password root --table emp --export-dir /data/input5

相关文章

  • Sqoop

    sqoop使用: 根据脚本执行:sqoop --options-file sqoop.sh import--con...

  • sqoop抽数遇坑记

    介绍sqoop 使用sqoop 坑之记录 坑之填补

  • 从hive导出到MySQL中

    使用sqoop

  • 玩儿数据 - Sqoop (RDBMS To Hadoop 操作

    本文中的Sqoop使用v1.4.6版本Sqoop官方档:http://sqoop.apache.org/docs/...

  • Sqoop安装

    sqoop下载下载地址 使用sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz这个 解压压缩...

  • Sqoop的使用

    1,什么是Sqoop sqoop是apache旗下一款“Hadoop和关系数据库服务器之间传送数据”的工具。导入数...

  • Sqoop 使用

    Sqoop 概要 Sqoop是Hadoop和关系数据库服务器之间传送数据的一种工具。链接各种DBMS到Hadoop...

  • Sqoop安装和简单使用

    下载sqoop 因为官方并不建议在生产环境中使用sqoop2,即1.99.7,所以这里我用的是sqoop1,即1....

  • sqoop安装教程

    1、 由于使用的是hadoop2.7,所以下载sqoop版本为:sqoop-1.4.6.bin__hadoop-2...

  • 51cto赵强HADOOP学习(八)

    使用Sqoop导入关系型数据库中的数据 数据的交换和集成 使用Sqoop进行HDFS和RDBMS数据的交换 什么是...

网友评论

    本文标题:Sqoop的使用

    本文链接:https://www.haomeiwen.com/subject/nuaxxftx.html