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. 2018-06-07 RF test 1 :TX Power test

    Test item: 1.Output power:   屏蔽网房-同轴线-频谱仪 The radio circuitry, generally referred to as the Device U ...

  2. 关于c++中命名空间namespace

    一.定义命名空间: 步骤一:在.h文件中:namespace  ns{.......}//将定义的类和全局变量,全局函数写入花括号内. 步骤二:在.cpp文件中: using namespace ns ...

  3. leetcode 268 Missing Number(异或运算的应用)

    Given an array containing n distinct numbers taken from 0, 1, 2, ..., n, find the one that is missin ...

  4. linux下导入导出oracle的dmp文件

    1.导出dmp件 命令:exp QGTG/\"QGTG@orcl\" file=/usr/fuck.dmp exp QGTG/\"QGTG@orcl\" fil ...

  5. Gym 100801B Black and White(构造)

    题意:给定X,Y,分别表示由'.'和'@'组成的连通块的个数. 思路:假如X<Y,我们用两部分来构造这个结果,第一部分由一个'.'连通块和Y-(X-1)割'@'连通块组成,第二个部分由X-1个' ...

  6. Metasploit的使用下篇——漏洞攻击

    一.上文总结 上篇当中主要通过开启的端口对目标主机进行攻击,最后成功做到了连接不过却不能查看到telnet的登陆用户名和密码,目前来看有两个原因:第一.我对于靶机telnet的设置有问题,没有设置相应 ...

  7. 20179203李鹏举 《Linux内核原理与分析》第一周学习笔记

    Linux基础入门 一.Linux的基础学习 1.1 Linux的重要基础操作 Linux不同于Windows的纯粹的图形化界面,虽然也有图形桌面的操作但是更多的操作还是通过命令行来进行,当然除了命令 ...

  8. 【C&C++】查看代码运行时间

    查看代码运行时间有助于更好地优化项目代码 1. Windows平台 windows平台下有两种方式,精度有所不同,都需要包含<windows.h>头文件 1) DWORD GetTickC ...

  9. Poj 2350 Above Average(精度控制)

    一.Description It is said that 90% of frosh expect to be above average in their class. You are to pro ...

  10. VijosP1274:神秘的咒语

    描述 身为拜月教的高级间谍,你的任务总是逼迫你出生入死.比如这一次,拜月教主就派你跟踪赵灵儿一行,潜入试炼窟底. 据说试炼窟底藏着五行法术的最高法术:风神,雷神,雪妖,火神,山神的咒语.为了习得这些法 ...