Sqoop安装配置

Sqoop是一个用来将Hadoop(Hive、HBase)和关系型数据库中的数据相互转移的工具,可以将一个关系型数据库(例如:MySQL ,Oracle ,Postgres等)中的数据导入到Hadoop的HDFS中,也可以将HDFS的数据导入到关系型数据库中。
官网地址:http://sqoop.apache.org/

1. 下载安装

  1. 下载:
    http://www.apache.org/dyn/closer.lua/sqoop/1.4.7
  2. 解压

tar -zxvf sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz /~/software/Hadoop/

2. 配置

  1. 在~/.bash_profile文件添加
#sqoop
SQOOP_HOME=/Users/qinxy/software/Hadoop/sqoop-1.4.7.bin__hadoop-2.6.0
PATH=$PATH:$SQOOP_HOME/bin
export SQOOP_HOME PATH
  1. 配置swoop-env.sh
    复制conf/sqoop-env-template.sh 为:conf/sqoop-env.sh
#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/Users/qinxy/software/Hadoop/hadoop-2.9.2

#Set path to where hadoop-*-core.jar is available
export HADOOP_MAPRED_HOME=/Users/qinxy/software/Hadoop/hadoop-2.9.2

#set the path to where bin/hbase is available
#export HBASE_HOME=

#Set the path to where bin/hive is available
#export HIVE_HOME=

#Set the path for where zookeper config dir is

#export ZOOCFGDIR=

(如果数据读取不设计hbase和hive,那么相关hbase和hive的配置可以不加,如果集群有独立的zookeeper集群,那么配置zookeeper,反之,不用配置)

  1. 验证命令 : sqoop help

    《Sqoop安装配置》 屏幕快照.png

3. 测试mysql数据库的使用

1. 测试数据库连接

sqoop list-databases -connect jdbc:mysql://localhost:3306 -username root -password root

如下图所示,则说明连接没问题

《Sqoop安装配置》 屏幕快照.png

2. sqoop的使用

以下所有的命令每行之后都存在一个空格,不要忘记
前提:hadoop已启动,hdfs可以访问

  1. mysql -> hdfs
    将mysql中的数据导入到hdfs

sqoop
import
–connect jdbc:mysql://localhost:3306/testSqoop
–username root
–password root
–table user
–target-dir /sqoopTest/mysql2hdfs/user
-m 1

  1. hdfs -> mysql
    将hdfs的数据导入到mysql

sqoop
export
–connect jdbc:mysql://localhost:3306/testSqoop –username root
–password root
–table user2
–export-dir /sqoopTest/mysql2hdfs/user
–m 1

  1. mysql -> hive
  2. hive -> mysql
  3. mysql -> hbase
  4. base -> mysql

参考文章:https://www.cnblogs.com/pejsidney/p/8945198.html

    原文作者:EmmaQin
    原文地址: https://www.jianshu.com/p/9bd4e87a4b53
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞