26.Validate 它用来比较源数据和目标数据的数量 它有三个接口 Validator.

  

它有三个接口
Validator.
Property:         validator
Description:      Driver for validation,
                  must implement org.apache.sqoop.validation.Validator
Supported values: The value has to be a fully qualified class name.
Default value:    org.apache.sqoop.validation.RowCountValidator

Validation Threshold
Property:         validation-threshold
Description:      Drives the decision based on the validation meeting the
                  threshold or not. Must implement
                  org.apache.sqoop.validation.ValidationThreshold
Supported values: The value has to be a fully qualified class name.
Default value:    org.apache.sqoop.validation.AbsoluteValidationThreshold

Validation Failure Handler
Property:         validation-failurehandler
Description:      Responsible for handling failures, must implement
                  org.apache.sqoop.validation.ValidationFailureHandler
Supported values: The value has to be a fully qualified class name.
Default value:    org.apache.sqoop.validation.LogOnFailureHandler

  

  

  27.validate例子

  

$ sqoop import --connect jdbc:mysql://db.foo.com/corp  \
    --table EMPLOYEES --validate

$ sqoop export --connect jdbc:mysql://db.example.com/foo --table bar  \
    --export-dir /results/bar_data --validate

$ sqoop import --connect jdbc:mysql://db.foo.com/corp --table EMPLOYEES \
    --validate --validator org.apache.sqoop.validation.RowCountValidator \
    --validation-threshold \
          org.apache.sqoop.validation.AbsoluteValidationThreshold \
    --validation-failurehandler \
          org.apache.sqoop.validation.LogOnFailureHandler

  

  

  29.sqoop job 保存常用的作业,以便下次快速调用

  --create <job-id>  创建一个新的job.
  --delete <job-id>  删除job
  --exec <job-id>     执行job
  --show <job-id>    显示job的参数
  --list                     列出所有的job

  

  30.例子

#创建job
$ sqoop job --create myjob -- import --connect jdbc:mysql://example.com/db \
    --table mytable
#列出所有job
$ sqoop job --list
#查看job
$ sqoop job --show myjob
 Job: myjob
 Tool: import
 Options:
 ----------------------------
 direct.import = false
 codegen.input.delimiters.record =
 hdfs.append.dir = false
 db.table = mytable
 ...
#执行job
$ sqoop job --exec myjob
// :: INFO tool.CodeGenTool: Beginning code generation
...
#重写参数
$ sqoop job --exec myjob -- --username someuser -P
Enter password:
...

  

  

  31.别的常用工具

  sqoop-metastore
  sqoop-merge
 

  

 #合并两个目录
 $ sqoop merge --new-data newer --onto older --target-dir merged \
   --jar-file datatypes.jar --class-name Foo --merge-key id

  

  sqoop-codegen
  sqoop-create-hive-table

  

 #在hive中创建一个名叫emps的和employees一样的表
 $ sqoop create-hive-table --connect jdbc:mysql://db.example.com/corp \
   --table employees --hive-table emps

  

  sqoop-eval

  

#选择10行数据
$ sqoop eval --connect jdbc:mysql://db.example.com/corp \
    --query "SELECT * FROM employees LIMIT 10"
#往foo表插入一行
$ sqoop eval --connect jdbc:mysql://db.example.com/corp \
    -e "INSERT INTO foo VALUES(42, 'bar')"

  

  sqoop-list-databases

  

$ sqoop list-databases --connect jdbc:mysql://database.example.com/
information_schema
employees

  

  sqoop-list-tables

  后面是附录,我把前面攒得一些东西放在这里了。

  

import的主要参数
--connect <jdbc-uri>    jdbc连接地址
--connection-manager <class-name>     连接管理者
--driver <class-name>     驱动类
--hadoop-mapred-home <dir>     $HADOOP_MAPRED_HOME
--help     help信息
-P     从命令行输入密码
--password <password>     密码
--username <username>     账号
--verbose    打印信息
--connection-param-file <filename>  可选参数

Argument     Description
--append     添加到hdfs中已经存在的dataset
--as-avrodatafile     导入数据作为avrodata
--as-sequencefile     导入数据位SequenceFiles
--as-textfile          默认导入数据为文本
--boundary-query <statement>     创建splits的边界
--columns <col,col,col…>     选择列
--direct             使用直接导入快速路径
--direct-split-size <n>     在快速模式下每n字节使用一个split
--fetch-size <n>     一次读入的数量
--inline-lob-limit <n>     最大数值 an inline LOB
-m,--num-mappers <n>     通过实行多少个map,默认是4个,某些数据库8 or 16性能不错
-e,--query <statement>     通过查询语句导入
--split-by <column-name>     创建split的列,默认是主键
--table <table-name>     要导入的表名
--target-dir <dir>     HDFS 目标路径
--warehouse-dir <dir>     HDFS parent for table destination
--where <where clause>     where条件
-z,--compress     Enable compression
--compression-codec <c>     压缩方式,默认是gzip
--null-string <null-string>    字符列null值
--null-non-string <null-string>     非字符列null值

export主要参数
--direct     快速导入
--export-dir <dir>     HDFS到处数据的目录
-m,--num-mappers <n>     都少个map线程
--table <table-name>     导出哪个表
--call <stored-proc-name>     存储过程
--update-key <col-name>     通过哪个字段来判断更新
--update-mode <mode>     插入模式,默认是只更新,可以设置为allowinsert.
--input-null-string <null-string>     字符类型null处理
--input-null-non-string <null-string>     非字符类型null处理
--staging-table <staging-table-name>     临时表
--clear-staging-table                     清空临时表
--batch                                     批量模式

转义字符相关参数。
Argument     Description
--enclosed-by <char>     设置字段结束符号
--escaped-by <char>     用哪个字符来转义
--fields-terminated-by <char>     字段之间的分隔符
--lines-terminated-by <char>     行分隔符
--mysql-delimiters             使用mysql的默认分隔符: , lines: \n escaped-by: \ optionally-enclosed-by: '
--optionally-enclosed-by <char>     复制结束符

  
  

sqoop 常用命令整理(二)的更多相关文章

  1. sqoop 常用命令整理(一)

    这些内容是从sqoop的官网整理出来的,是1.4.3版本的Document,如果有错误,希望大家指正. 1.使用sqoop导入数据 sqoop import --connect jdbc:mysql: ...

  2. 【linux】---常用命令整理

    linux常用命令整理 一.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等 常用参数搭配: l ...

  3. Tomcat性能优化及常用命令整理

    1汤姆猫性能优化 1.1连接参数 1.1.1默认连接配置 默认连接器采用阻塞式 IO,默认最大线程数为200,配置如下: <Connector port="8080" pro ...

  4. linux 服务器常用命令整理

    linux 服务器常用命令整理 目录 网络分析 - tcpdump \ telnet \ (netstat \ ss \ lsof) \ nload 网络传输 - scp \ rsync \ (rz ...

  5. Hive记录-Sqoop常用命令

    1.sqoop是什么 Sqoop是一款开源的数据迁移工具,主要用于Hadoop(Hive)与传统的关系型数据库(mysql...)相互之间的数据迁移. 2.sqoop的特点 sqoop的底层实现是ma ...

  6. (小组)Git 常用命令整理

    Git 常用命令整理 取得Git仓库 初始化一个版本仓库 git init Clone远程版本库 git clone git@xbc.me:wordpress.git 添加远程版本库origin,语法 ...

  7. salt 常用命令整理

    salt 常用命令整理 ***********模块*********** 查看模块列表module salt 'minion' sys.list_modules 查看指定module的function ...

  8. Dos常用命令整理

    Dos常用命令整理 打开cmd的方法 开始菜单 -> 系统 -> 命令提示符 组合键Win+R打开运行 -> 输入cmd 在任意文件夹下Shift+鼠标右键 -> 在此处打开命 ...

  9. Linux 最常用命令整理,建议收藏!

    Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境. linux不仅可以长时间的运行我们编写的程序代码,还 ...

随机推荐

  1. MSSQL2005:“超时时间已到。在操作完成之前超时时间已过或服务器未响应”

    1.今天在整合项目中有这样一个需求,就是要改变以存在表字段的文本的大小,如把char(15)改成varchar(50). 2.此时以存在表已有1885742条数据,在直接下面进行调用 ALTER TA ...

  2. Vivado抓取信号

    作者:桂. 时间:2018-05-03  21:16:03 链接:www.cnblogs.com/xingshansi/p/8987608.html 前言 FPGA调试需要抓取特定信号,一个直观的思路 ...

  3. 稀疏傅里叶变换(sparse FFT)

    作者:桂. 时间:2018-01-06  14:00:25 链接:http://www.cnblogs.com/xingshansi/p/8214122.html 前言 对于数字接收来讲,射频域随着带 ...

  4. 单例模式在JDBC数据库连接操作里的应用

    设计模式之单例模式一般应用在在数据库操作里,数据库操作就要常常创建实例,然后进行数据库操作,全部就能够 将数据库操作的方法.进行封装,然后採用单例模式进行设计,然后採用单例模式之后,就能够节约系统资源 ...

  5. ThinkPHP32 MODULE_ALLOW_LIST 存在的bug 不生效

    1)BUG: 假设存在Api Home Admin Member 模块.仅仅想让用户訪问 Api Home,不同意訪问Admin Member. 必须将Admin Member 写在 MODULE_D ...

  6. LeetCode(35) Search Insert Position

    题目 Given a sorted array and a target value, return the index if the target is found. If not, return ...

  7. python实现tail -f功能

    这篇文章最初是因为reboot的群里,有人去面试,笔试题有这个题,不知道怎么做,什么思路,就发群里大家讨论 我想了一下,简单说一下我的想法吧,当然,也有很好用的pyinotify模块专门监听文件变化, ...

  8. linux关闭selinux和firewall

    sed -i '/SELINUX/s/enforcing/disabled/' /etc/selinux/config setenforce 0

  9. maven正式版本和快照版本的区别

    Maven中建立的依赖管理方式基本已成为Java语言依赖管理的事实标准,Maven的替代者Gradle也基本沿用了Maven的依赖管理机制.在Maven依赖管理中,唯一标识一个依赖项是由该依赖项的三个 ...

  10. MapReduce运行原理

    MapReduce是一种编程模型,用于大规模数据集(大于1TB)的并行运算.MapReduce采用”分而治之”的思想,把对大规模数据集的操作,分发给一个主节点管理下的各个分节点共同完成,然后通过整合各 ...