1. 下载:   wget http://mirrors.shu.edu.cn/apache/sqoop/1.4.7/sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz

2. 解压后,假设 $SQOOP_HOME 为解压后的文件夹的位置,进入 $SQOOP_HOME/conf  目录, 运行:  cp sqoop-env-template.sh sqoop-env.sh

3. 修改 sqoop-env.sh 中的内容,根据文件里的注释,设置相应的内容。如:

#Set path to where bin/hadoop is available
export HADOOP_COMMON_HOME=/opt/programs/hadoop-2.7.3

其它的,如 HBASE_HOME和 HIVE_HOME , 如果没用到,则不需要设置。

4. 在 $SQOOP_HOME/bin 目录下运行:  sqoop help 会得到所有的命令。(注:如果在第3步中,有些值没有设置,运行时会报一些 warning 的信息,这是正常的)。

5. 查看某个命令的详细信息(如:import):  sqoop import --help

     各个参数详细点的说明见: https://blog.csdn.net/zleven/article/details/53781111

6. 查看 mysql 中某个表(注意:需要将 mysql 的数据库连接的 jar 包复制到 lib 目录下):

bin/sqoop eval --connect jdbc:mysql://localhost:3306/sqoop_test --username sqoop --password 123456 --query "select * from student"

7. 根据关系型数据库中的表创建 Hive 表(注:只会创建表结构,不会复制数据)

bin/sqoop create-hive-table --connect jdbc:mysql://localhost:3306/sqoop_test --table student --username sqoop --password 123456 --hive-table hive_student

8. import 命令

主要作用是将关系型数据库中的数据导入到 HDFS 文件系统中(或者 HBase/hive 中),不管是导入到 HBase 中还是导入到 hive 中,都需要先导入到HDFS中,然后导入到最终的位置,一般情况下,只会采用将关系型 数据库的数据导入到 HDFS 或者 Hive 中,不会导入到 HBase中。

import 命令导入到 HDFS 中默认采用 ‘,’ 进行分割字段值,导入到 hive 中默认采用 '\u0001' 来进行分割字段值,如果有特殊的分割方式,我们可以通过参数指定。

imprt 命令导入到 hive 的时候,会先在 /user/${user.name} 文件夹下创建一个同关系型数据库表名相同的文件夹作为中间文件夹,如果该文件夹存在,则会报错。错误如下:

在导入时的命令中加入 --delete-target-dir 参数,可以避免这一错误。

(1) 将 mysql 表中的数据导入到 hive 的 hive_student 表(这个表如果不存在 Hive中, 会自动创建),

sqoop import --connect jdbc:mysql://localhost:3306/sqoop_test --table student --username sqoop --password 123456 --delete-target-dir  --hive-import --hive-database default --hive-table hive_student  --fields-terminated-by ','

我运行这个命令时,出现下面的错误:

需要把 hive/lib/hive-exec*.jar 拷贝到 sqoop/lib/ 下。

(2) 再次运行上面的命令,会把数据库中所有的记录再插入 Hive 表,Hive 表中会有两份记录。如果想要先清空 Hive 中的数据,需要加一个参数 --hive-overwrite

注意: 对于同一个 Hive,导入命令中的 --fields-terminated-by 的值必须相同,否则,Hive 表中记录的值会是 NULL。如下图所示:

(3) 如果只是想把数据库表中的某几个字段导入到 Hive 表中,可以执行:

$ sqoop import --connect jdbc:mysql://bigdata1:3306/sqoop_test --username sqoop --password 123456 --query "select id,name,age from student where \$CONDITIONS" --target-dir /sqoop  --hive-import --hive-database default --hive-table hive_student1 -m 1

使用 --query 时, 必须同时指定 --target-dir 。最后的 -m 1 意思是指定一个 MapperReduce,默认值 2 。如果 值不为 1 的话,需要同时增加 --split-by 参数,指定按哪一个 column 进行分隔。

sqoop 安装与命令的更多相关文章

  1. 如何将mysql数据导入Hadoop之Sqoop安装

    Sqoop是一款开源的工具,主要用于在Hadoop(Hive)与传统的数据库(mysql.postgresql...)间进行数据的传递,可以将一个关系型数据库(例如 : MySQL ,Oracle , ...

  2. sqoop安装与简单实用

    一,sqoop安装 1.解压源码包 2.配置环境变量 3.在bin目录下的 /bin/configsqoop 注释掉check报错信息 4.配置conf目录下 /conf/sqoop-env.sh 配 ...

  3. hadoop(八) - sqoop安装与使用

    一. sqoop安装: 安装在一台节点上就能够了. 1. 使用winscp上传sqoop 2. 安装和配置 加入sqoop到环境变量 将数据库连接驱动mysql-connector-5.1.8.jar ...

  4. sqoop一些常用命令及参数

    常用命令列举 这里给大家列出来了一部分Sqoop操作时的常用参数,以供参考,需要深入学习的可以参看对应类的源代码. 序号 命令 类 说明 1 import ImportTool 将数据导入到集群 2 ...

  5. Sqoop 安装部署

    1. 上传并解压 Sqoop 安装文件 将 sqoop-1.4.7.bin__hadoop-2.6.0.tar.gz 安装包上传到 node-01 的 /root/ 目录下并将其解压 [root@no ...

  6. linux 安装一些命令

    一.安装wget命令: debian 或者 ubuntu : sudo apt-get install wget centos : sudo yum -y install wget 二.安装rz.sz ...

  7. 越狱后的ios如何用apt-get 安装各种命令

    越狱后的ios如何用apt-get 安装各种命令   iphone越狱后想玩linux. 1. ssh 客户端:ssh Term Pro. 2. 只装客户端是连不上的,还得一个 ssh connect ...

  8. linux下安装7z命令及7z命令的使用

    本文主要介绍了在linux下安装7z命令的方法,同时介绍了7z命令的使用.7z压缩格式拥有众多优点,具有极高的压缩比率,如果你还不了解,请看文章:7z格式.LZMA压缩算法和7-Zip详细介绍. re ...

  9. mac安装GNU命令行工具

    mac安装GNU命令行工具 2.添加的repo     tap home/dupes        brew install coreutils  binutils  diffutils  ed -- ...

随机推荐

  1. guava_学习_00_资源帖

    一.精选 1.Google Guava 官方教程 二.参考资源 1.Google Guava官方教程(中文版) 2.使用Guava编写优雅代码 3.Google guava工具类的介绍和使用

  2. Linux-MySQL主从配置

    1. MySQL主从原理以及应用场景MySQL的Replication原理非常简单,总结一下:每个从仅可以设置一个主.主在执行sql之后,记录二进制log文件(bin-log).从连接主,并从主获取b ...

  3. 关于from..import 与import导入模块问题

    问题来源:导入PyQt5里面的模块时老是出错 1.from PyQt5 import QtWidgets.QApplication,QtWidgets.QtDialog #出错2.from PyQt5 ...

  4. vscode 小笔记

    用户设置: { "git.ignoreMissingGitWarning": true, "workbench.statusBar.feedback.visible&qu ...

  5. 反编译工具Reflector下载(集成FileGenerator和FileDisassembler)

    Reflector是一款比较强大的反编译工具,相信很多朋友都用过它,但reflector本身有很多局限性, 比如只能一个一个的查看方法等,但幸好reflector支持插件功能目前网上有很多reflec ...

  6. java中的设计模式及其六大原则

    设计模式分类: 一共分为3大类:创造型模式.结构型模式.行为型模式. 创造型模式:工厂方法(FactoryMethod).抽象工厂模式(AbstractFactory).建造者模式(Builder). ...

  7. xml schema 中如何定义类似Map的结构

    利用xs:unique关键字.在xs:element里添加unique节点,任意命名,然后用xs:selector来选择需要唯一的域, xs:field 里指定特定的字段. 例如:定义所有Item里的 ...

  8. POJ3087(模拟)

    #include"iostream" #include"string" #include"map" using namespace std; ...

  9. js---复选框(全选,不选,反选)demo1--

    <!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01//EN" "http://www.w3.org/TR/html4/stri ...

  10. windows统计端口连接数

    netstat -na -p tcp| findstr 80 | find /C "ESTABLISH" netstat -an -p tcp | find "127.0 ...