在学习sqoop job之前,最好先学习一下sqoop命令的导入导出

sqoop 使用 import 将 mysql 中数据导入到 hive

sqoop 使用 import 将 mysql 中数据导入到 hdfs

sqoop 使用 export 将 hive 中数据导出到 mysql

sqoop job

sqoop job 可将一些参数配置以及命令语句保存起来,方便调用。

接下来实现一个从mysql导入到hive的任务

  • mysql建表,表名为 sqoop_job

    CREATE TABLE `sqoop_job` (
    `id` int() DEFAULT NULL,
    `name` varchar() DEFAULT NULL,
    `jobname` varchar() DEFAULT NULL
    ) ENGINE=InnoDB DEFAULT CHARSET=latin1
  • 给sqoop_job插入测试数据
    insert into sqoop_job values(,"name1","jobname1");
    insert into sqoop_job values(,"name2","jobname2");
    insert into sqoop_job values(,"name3","jobname3");
  • 将mysql表结构同步到hive
    sqoop create-hive-table --connect jdbc:mysql://localhost:3306/sqooptest --username root --password 123qwe --table sqoop_job
    --hive-table sqoop_job --fields-terminated-by ,
  • 创建一个导入任务的sqoop job
    sqoop job --create sqoopimport1 -- import --connect jdbc:mysql://localhost:3306/sqooptest --username root -password 123qwe --table sqoop_job
    --hive-import --hive-table sqoop_job --fields-terminated-by ',' -m 1

    创建成功后可使用命令查看当前job列表

    sqoop job -list
    sqoop还支持查看已创建任务的参数配置
    使用命令 sqoop job --show jobname

    EFdeMacBook-Pro:sbin FengZhen$ sqoop job --show sqoopimport1
    Job: sqoopimport1
    Tool: import
    Options:
    ----------------------------
    verbose = false
    db.connect.string = jdbc:mysql://localhost:3306/sqooptest
    codegen.output.delimiters.escape =
    codegen.output.delimiters.enclose.required = false
    codegen.input.delimiters.field =
    hbase.create.table = false
    db.require.password = true
    hdfs.append.dir = false
    db.table = sqoop_job
    codegen.input.delimiters.escape =
    import.fetch.size = null
    accumulo.create.table = false
    codegen.input.delimiters.enclose.required = false
    db.username = root
    reset.onemapper = false
    codegen.output.delimiters.record =
    import.max.inline.lob.size =
    hbase.bulk.load.enabled = false
    hcatalog.create.table = false
    db.clear.staging.table = false
    codegen.input.delimiters.record =
    enable.compression = false
    hive.overwrite.table = false
    hive.import = true
    codegen.input.delimiters.enclose =
    hive.table.name = sqoop_job
    accumulo.batch.size =
    hive.drop.delims = false
    codegen.output.delimiters.enclose =
    hdfs.delete-target.dir = false
    codegen.output.dir = .
    codegen.auto.compile.dir = true
    relaxed.isolation = false
    mapreduce.num.mappers =
    accumulo.max.latency =
    import.direct.split.size =
    codegen.output.delimiters.field =
    export.new.update = UpdateOnly
    incremental.mode = None
    hdfs.file.format = TextFile
    codegen.compile.dir = /tmp/sqoop-FengZhen/compile/546e29b092f451585b5c8547b3e9985e
    direct.import = false
    hive.fail.table.exists = false
    db.batch = false
  • 执行job
    sqoop job --exec sqoopimport1
    执行成功后可查看hive中表的数据
    hive> select * from sqoop_job;
    OK
    name1 jobname1
    name2 jobname2
    name3 jobname3
    Time taken: 1.618 seconds, Fetched: row(s)

    Done.

sqoop job从创建到执行的更多相关文章

  1. ASP.NET Web API 过滤器创建、执行过程(二)

    ASP.NET Web API 过滤器创建.执行过程(二) 前言 前面一篇中讲解了过滤器执行之前的创建,通过实现IFilterProvider注册到当前的HttpConfiguration里的服务容器 ...

  2. ASP.NET Web API 过滤器创建、执行过程(一)

    ASP.NET Web API 过滤器创建.执行过程(一) 前言 在上一篇中我们讲到控制器的执行过程系列,这个系列要搁置一段时间了,因为在控制器执行的过程中包含的信息都是要单独的用一个系列来描述的,就 ...

  3. linux进程编程:子进程创建及执行函数简介

    linux进程编程:子进程创建及执行函数简介 子进程创建及执行函数有三个: (1)fork();(2)exec();(3)system();    下面分别做详细介绍.(1)fork()    函数定 ...

  4. (转)ASP.NET Mvc 2.0 - 1. Areas的创建与执行

    转自:http://www.cnblogs.com/terrysun/archive/2010/04/13/1711218.html ASP.NET Mvc 2.0 - 1. Areas的创建与执行 ...

  5. JBPM4入门——6.流程实例的创建和执行

    本博文只是简要对JBPM4进行介绍,如需更详细内容请自行google 链接: JBPM入门系列文章: JBPM4入门——1.jbpm简要介绍 JBPM4入门——2.在eclipse中安装绘制jbpm流 ...

  6. 创建可执行的JAR包

    创建可执行的JAR文件包,需要使用带cvfm参数的jar命令,命令如下:JAR cvfm test.jar manifest.mf testtest.jar和manifest.mf为两个文件,分别对应 ...

  7. SpringBoot 创建可执行Jar

    创建可执行JAR 我们也可以通过插件创建一个在生产环境中运行的可执行jar文件来完成我们的示例. 首先引入依赖: <build> <plugins> <plugin> ...

  8. 使用jar命令打jar/war包、创建可执行jar包、运行jar包、及批处理脚本编写

    jar 命令 jar 是一个jar.exe可执行命令,即可以生成jar文件,也可以生成war文件   使用示例:jar -cvf ../xxx.jar *  -c   create,创建新的归档文档 ...

  9. 《linux下进程的创建,执行,监控和终止》

    <linux下进程的创建,执行,监控和终止> http://blog.csdn.net/miss_acha/article/details/43671047 http://blog.csd ...

随机推荐

  1. java.long中的类和方法

    java.lang.Character.isUpperCase(char ch) 确定指定的字符是否为大写字符. java.lang.Character.toUpperCase()方法用法转换从Uni ...

  2. angularjs中的时间格式化过滤

    本地化日期格式化: ({{ today | date:'medium' }})Nov 19, 2015 3:57:48 PM ({{ today | date:'short' }})11/19/15  ...

  3. Android採用async框架实现文件上传

    页面效果 须要的权限 <uses-permission android:name="android.permission.INTERNET"/> 网络訪问权限; 布局文 ...

  4. Apache中KeepAlive 配置

    引子 先来分析一个Yslow 测试的一个页面的前端性能. 这里所有的请求是指http请求,对于一个请求各个阶段的划分,阻挡->域名解析->建立连接->发送请求->等待响应-&g ...

  5. struts2中配置全局日期类型转换器

    1.编写一个类,继承StrutsTypeConverter,实现其中的convertFromString和convertToString方法,该类如下: package me.edu.utils; i ...

  6. vue实践---vue结合 promise 封装原生ajax

    有时候不想使用axios这样的外部依赖,想自己封装ajax,这里有两种方法 方法一,在单个页面内使用 封装的代码如下: beforeCreate () { this.$http = (() => ...

  7. iOS开发 剖析网易新闻标签栏视图切换(addChildViewController属性介绍)

    本文转载至 http://www.tuicool.com/articles/3ymMzub CSDN博客原文  http://blog.csdn.net/hmt20130412/article/det ...

  8. Linux下安装 activemq 并指定jdk 1.8

    1. 下载安装包 <apache-activemq-5.15.4-bin.tar.gz> 下载地址:https://pan.baidu.com/s/18xzjBAchjWqsHNA1HuY ...

  9. web 文件下载

    response.reset(); response.setContentType("octets/stream"); response.addHeader("Conte ...

  10. Inside a super fast CSS engine: Quantum CSS (aka Stylo)

    https://hacks.mozilla.org/2017/08/inside-a-super-fast-css-engine-quantum-css-aka-stylo/?utm_source=d ...