sqoop 常用命令整理(二)
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 常用命令整理(二)的更多相关文章
- sqoop 常用命令整理(一)
这些内容是从sqoop的官网整理出来的,是1.4.3版本的Document,如果有错误,希望大家指正. 1.使用sqoop导入数据 sqoop import --connect jdbc:mysql: ...
- 【linux】---常用命令整理
linux常用命令整理 一.ls命令 就是list的缩写,通过ls 命令不仅可以查看linux文件夹包含的文件,而且可以查看文件权限(包括目录.文件夹.文件权限)查看目录信息等等 常用参数搭配: l ...
- Tomcat性能优化及常用命令整理
1汤姆猫性能优化 1.1连接参数 1.1.1默认连接配置 默认连接器采用阻塞式 IO,默认最大线程数为200,配置如下: <Connector port="8080" pro ...
- linux 服务器常用命令整理
linux 服务器常用命令整理 目录 网络分析 - tcpdump \ telnet \ (netstat \ ss \ lsof) \ nload 网络传输 - scp \ rsync \ (rz ...
- Hive记录-Sqoop常用命令
1.sqoop是什么 Sqoop是一款开源的数据迁移工具,主要用于Hadoop(Hive)与传统的关系型数据库(mysql...)相互之间的数据迁移. 2.sqoop的特点 sqoop的底层实现是ma ...
- (小组)Git 常用命令整理
Git 常用命令整理 取得Git仓库 初始化一个版本仓库 git init Clone远程版本库 git clone git@xbc.me:wordpress.git 添加远程版本库origin,语法 ...
- salt 常用命令整理
salt 常用命令整理 ***********模块*********** 查看模块列表module salt 'minion' sys.list_modules 查看指定module的function ...
- Dos常用命令整理
Dos常用命令整理 打开cmd的方法 开始菜单 -> 系统 -> 命令提示符 组合键Win+R打开运行 -> 输入cmd 在任意文件夹下Shift+鼠标右键 -> 在此处打开命 ...
- Linux 最常用命令整理,建议收藏!
Linux是目前应用最广泛的服务器操作系统,基于Unix,开源免费,由于系统的稳定性和安全性,市场占有率很高,几乎成为程序代码运行的最佳系统环境. linux不仅可以长时间的运行我们编写的程序代码,还 ...
随机推荐
- 安卓listview滚动时背景变黑的解决方法
ListView是常用的显示控件,默认背景是和系统窗口一样的透明色,如果给ListView加上背景图片,或者背景颜色时,滚动时listView会黑掉, 原因是,滚动时,列表里面的view重绘时,用的依 ...
- [转]@Transactional spring 配置事务 注意事项
@Transactional spring 配置事务 注意事项 [@more@] @Transactional spring 配置事务 注意事项 1. 在需要事务管理的地方加@Transactiona ...
- ROC 曲线简要解释
阳性 (P, positive)阴性 (N, Negative)真阳性 (TP, true positive):正确的肯定.又称:命中 (hit)真阴性 (TN, true negative):正确的 ...
- MySQL 5.6学习笔记(函数)
1. 数学函数 ABS(x) 返回x的绝对值BIN(x) 返回x的二进制(OCT返回八进制,HEX返回十六进制)CEIL(x)或CEILING(x) 返回大于x的最小整数值EXP(x) ...
- ssm redis 数据字典在J2EE中的多种应用与实现
数据字典在项目中是不可缺少的“基础设施”,关于数据字典如何设计如何实现,今天抽空讲一下吧 先看一下表设计: 通过自定义标签来实现页面的渲染: public class DataDictValueTag ...
- Atitit 软件体系的进化,是否需要一个处理中心
Atitit 软件体系的进化,是否需要一个处理中心 1.1. 进化树上是没有主干的..1 1.2. ,软件进化的行为1::主要就是给新的应用编写新的程序.1 1.3. ,软件进化的行为2::软件的维护 ...
- 打造 Vue.js 可复用组件
Vue.js 是一套构建用户界面的渐进式框架.我们可以使用简单的 API 来实现响应式的数据绑定和组合的视图组件. 从维护视图到维护数据,Vue.js 让我们快速地开发应用.但随着业务代码日益庞大,组 ...
- andrdoid内置视频文件
这种方法仅仅适合有内置存储的情况,至于和平分区的不在考虑之列 1 在vendor/sprd下新建一个目录built_in_video 里边放置要内置的视频文件及copy脚步 脚步例如以下:intern ...
- 李洪强和你一起学习前端之(9)规避脱标,CSS可见性,滑动门案例
1 复习昨天知识 1.1 浮动 特点: >浮动的元素不占位置(脱标) >可以将行内元素转化为行内块元素 >块级元素在一行上显示 >设置了浮动的元素,影响其后面的元素 作 ...
- iOS开发-应用管理
// // ViewController.m // 21-应用管理-1 // // Created by hongqiangli on 2017/8/2. // Copyright © 201 ...