1.进入sqoop2终端:

[root@master /]# sqoop2

2.为客户端配置服务器:

sqoop:000> set server --host master --port 12000 --webapp sqoop

3.查看服务器配置:

sqoop:000> show version --all

4. 查看sqoop的所有连接:

sqoop 所有的连接固定为四个,如下:

sqoop:000> show connector

5.创建hdfs的link:

sqoop:000> create link --cid 3

sqoop:> create link --cid
Creating link for connector with id
Please fill following values to create new link object
Name: hdfs_link Link configuration HDFS URI: hdfs://master:8020 // 这个地方一定要和hdfs中的地址对应
New link was successfully created with validation status OK and persistent id

5.创建MySQL的Link

sqoop:> create link --cid 
Creating link for connector with id
Please fill following values to create new link object
Name: mysql_link Link configuration JDBC Driver Class: com.mysql.jdbc.Driver
JDBC Connection String: jdbc:mysql://master:3306/app
Username: root
Password: ****
JDBC Connection Properties:
There are currently values in the map:
entry# protocol=tcp
There are currently values in the map:
protocol = tcp
entry#
New link was successfully created with validation status OK and persistent id

6.查看当前的所有link

sqoop:000> show link

7.创建job

sqoop:> create job -f  -t
Creating job for links with from id and to id
Please fill following values to create new job object
Name: hdfs_to_mysql From Job configuration Input directory: /yk/dl/GetAlarmHis/
Override null value: null
Null value: null To database configuration Schema name: app
Table name: alarm_his
Table SQL statement:
Table column names:
Stage table name:
Should clear stage table: Throttling resources Extractors:
Loaders:
New job was successfully created with validation status OK and persistent id

Name:一个标示符,自己指定即可。

Schema Name:指定Database或Schema的名字,在MySQL中,Schema同Database类似,具体什么区别没有深究过,但官网描述在创建时差不多。这里指定数据库名字为db_ez即可,本例的数据库。

Table Name:本例使用的数据库表为tb_forhadoop,自己指定导出的表。多表的情况请自行查看官方文档。

SQL Statement:填了schema name和table name就不可以填sql statement。sql语句中必须包含${CONDITIONS}字样,一般是where 1=1 and ${CONDITIONS}

Partition column: 在填写了sql statement的情况下,必须填写,用以对数据分区,一般为可唯一标识记录的数字型字段。

Partition column nullable:

Boundary query:

Last value:

后面需要配置数据目的地各项值:

Null alue:大概说的是如果有空值用什么覆盖

File format:指定在HDFS中的数据文件是什么文件格式,这里使用TEXT_FILE,即最简单的文本文件。

Compression codec:用于指定使用什么压缩算法进行导出数据文件压缩,我指定NONE,这个也可以使用自定义的压缩算法CUSTOM,用Java实现相应的接口。

Custom codec:这个就是指定的custom压缩算法,本例选择NONE,所以直接回车过去。

Output directory:指定存储在HDFS文件系统中的路径,这里必须指定一个存在的路径,或者存在但路劲下是空的,貌似这样才能成功。

Append mode:用于指定是否是在已存在导出文件的情况下将新数据追加到数据文件中。

Extractors:大概是etl执行次数,比如填2,那么hdfs的输出中数据将会重复2次…依次类推

Loaders:决定了最后执行的reduce数量(可见下面的源码MapreduceSubmissionEngine.submit方法)

8.查看job

sqoop:000> show job

9.启动job

sqoop:001> show link       显示所有链接

sqoop:001> create link --cid 1    创建连接

sqoop:000> delete link --lid 1     删除link
sqoop:001> show job       显示所有job

sqoop:001> create job --f 2 --t 1   创建job ( 从link 2 向link 1导入数据)
sqoop:000> start job --jid 1      启动job
sqoop:000> status job --jid 1      查看导入状态

sqoop:000> delete job --jid 1      删除job

在sqoop客户端设置查看job详情:

set option --name verbose --value true

https://blog.csdn.net/wdr2003/article/details/80964588

教程:https://www.2cto.com/database/201411/356011.html

Sqoop2 将hdfs中的数据导出到MySQL的更多相关文章

  1. 《sqoop实现hdfs中的数据导出至mysql数据库》

    报错Access denied for user 'root'@'localhost' (using password: YES)  参考一  参考二 登陆mysql时,root密码的修改 参考帖子h ...

  2. 使用JDBC+POI把Excel中的数据导出到MySQL

    POI是Apache的一套读MS文档的API,用它还是可以比较方便的读取Office文档的.目前支持Word,Excel,PowerPoint生成的文档,还有Visio和Publisher的. htt ...

  3. 使用OpenXml把Excel中的数据导出到DataSet中

    public class OpenXmlHelper { /// <summary> /// 读取Excel数据到DataSet中,默认读取所有Sheet中的数据 /// </sum ...

  4. 机房收费系统——在VB中将MSHFlexGrid控件中的数据导出到Excel

    机房收费系统中,好多查询的窗体都包含同一个功能:将数据库中查询到的数据显示在MSHFlexGrid控件中,然后再把MSHFlexGrid控件中的数据导出到Excel表格中. 虽然之前做过学生信息管理系 ...

  5. Qt中将QTableView中的数据导出为Excel文件

    如果你在做一个报表类的程序,可能将内容导出为Excel文件是一项必须的功能.之前使用MFC的时候我就写过一个类,用于将grid中的数据导出为Excel文件.在使用了QtSql模块后,我很容易的将这个类 ...

  6. 将Datagridview中的数据导出至Excel中

        首先添加一个模块ImportToExcel,并添加引用         然后导入命名空间: Imports Microsoft.Office.Interop Imports System.Da ...

  7. Linux启动kettle及linux和windows中kettle往hdfs中写数据(3)

    在xmanager中的xshell运行进入图形化界面 sh spoon.sh 新建一个job

  8. hbase使用MapReduce操作4(实现将 HDFS 中的数据写入到 HBase 表中)

    实现将 HDFS 中的数据写入到 HBase 表中 Runner类 package com.yjsj.hbase_mr2; import com.yjsj.hbase_mr2.ReadFruitFro ...

  9. java程序向hdfs中追加数据,异常以及解决方案

    今天在学习hdfs时,遇到问题,就是在向hdfs中追加数据总是报错,在经过好几个小时的努力之下终于将他搞定 解决方案如下:在hadoop的hdfs-sit.xml中添加一下三项 <propert ...

随机推荐

  1. 三.protobuf3标量值类型

    Protobuf3 标量值类型 标量消息字段可以具有以下类型之一——该表显示了.proto文件中指定的类型,以及自动生成的类中的相应类型: .proto类型 说明 C++ 类型 Java 类型 Pyt ...

  2. python_requests ~爬虫~小视频~~~

    当一只小小的Py_Spider也有一段时间了, 期间,更多的时间是在爬取图片啊, 文字, 文档这类的东西, 今天突然一时兴起, 来爬一手视频! 所以就找到了远近闻名的六间房(六扇门)哈哈,~~~ 1. ...

  3. PHP流程控制之goto语法

    自 PHP 5.3.0 起,还可以使用 goto 来跳出循环. 在本章开始的章节,我们讲解到一个故事,王同学每周往返,但有一个特例:直线电机滑台 项目失败后或者集团临时除知除外,他就可以不再这么每周往 ...

  4. ES 调优查询亿级数据毫秒级返回!怎么做到的?--文件系统缓存

    一道面试题的引入: 如果面试的时候碰到这样一个面试题:ElasticSearch(以下简称ES) 在数据量很大的情况下(数十亿级别)如何提高查询效率? 这个问题说白了,就是看你有没有实际用过 ES,因 ...

  5. learning armbian steps(3) ----- armbian 文件系统定制思路

    如何定制自已的armbian文件系统. 1)uboot 2)  kernel 3)  rootfs 针对linux 系统开发人员来说,真正有用的只是其armbian文件系统, 将其制作成所需的文件系统 ...

  6. luogu 1714

    前缀和 + rmq #include <bits/stdc++.h> const int N = 5e5 + 10; int Pow[30], Log[N]; int n, m; int ...

  7. github上项目的目录结构说明

    build 构建脚本 dist 编译出来的发布版 docs 文档 examples 示例文件 src 源码 test 测试脚本 .babelrc Babel 交叉编译的配置 .eslintrc ESL ...

  8. P5025 [SNOI2017]炸弹

    原题链接  https://www.luogu.org/problem/P5025 闲话时刻: 第一道 AC 的黑题,虽然众人皆说水... 其实思路不是很难,代码也不是很难打,是一些我们已经学过的东西 ...

  9. CF1208题解

    C \(\begin{aligned}\ 0 0 1 1\\ 0 0 1 1\\ 2 2 3 3\\ 2 2 3 3\\ \end{aligned}\)将每个四方格分别加上\(0,4,8,12\) D ...

  10. [代码审计]PHP_Bugs题目总结(1)

    0x00 简介 最近这几天看到了许多关于代码审计的ctf题,在电脑里也翻出来好长时间没看过的php_bugs,干脆最近把这个好好看看! 下载地址:https://github.com/bowu678/ ...