从RDBMS到HIVE:

sqoop import 
--connect jdbc:oracle:thin:@//192.168.156.111/test--username test
--password test
--query select * from it.t_test where inserttime >= to_date('${date1}','yyyy-mm-dd') and inserttime < to_date('${date2}','yyyy-mm-dd') and $CONDITIONS
--hive-overwrite
--hive-table it.test
--target-dir hdfs://ns1/user/hive/warehouse/it.db/t_test
--null-string \\N
-null-non-string \\N
--fields-terminated-by \001
--delete-target-dir
--split-by emp_no
-m
1

参数详解:

  --connect 关系型数据库连接

  --username 关系型数据库连接用户名

  --password 关系型数据库连接密码

  --table 关系型数据库表

  --query 自定义sql查询,sql结束要加$CONDITIONS

  --hive-overwrite 覆盖之前的分区写入数据

  --hive-drop-import-delims 导入hive的数据某列中如果有换行符或者回车键可以删除

  --hive-table hive的表

  --hive-database hive的数据库

  --hive-partition-key hive的分区字段

  --hive-partition-value hive的分区值

  --fields-terminated-by 导入到hdfs时,hdfs文件的分隔符

  --input-fields-terminated-by 从hdfs导出时,hdfs文件的分隔符

  --export-dir 从hdfs导出时的源目录

  --target-dir 导入到hdfs时的目标目录

  --delete-target-dir 如果hdfs的目录已经存在,则先删除

  --direct 快速模式,使用mysql自带的mysqldump导出数据

  --split-by 如果-m参数不为1,一定要加上该参数而且最好是数值类型,否则会报错

  -m 指定map的数量,也是生成文件的数量

  --split-by 一般和参数-m放在一起使用,-m表示使用几个map并发执行,--split-by表示拆分数据的字段。

  例如:-m设置为2,数据有100条,sqoop会首先获取拆分字段的最大值和最小值,间隔为100/2=50,那么第一个map执行拆分字段为(1,50)之间的数据,第二个map执行拆分字段为(50,100)之间的数据

  NOTES:

    拆分字段默认为主键;

    拆分字段数据类型最好为int,如果为其他类型,将-m参数设置为1,--split-by不设置;

    拆分字段的值最好均匀分布,否则会造成数据倾斜的问题。

  

  HCatalog配置:

  --create-hcatalog-table 指定需要创建表,如果不指定,默认不创建,若指定且创建的表已经存在就会报错

  --hcatalog-table 要导出的目标表

  --hcatalog-storage-stanza 指定存储格式,该参数值会拼接到create table的命令中。默认:stored as rcfile。

  --hcatalog-partition-keys 指定分区字段,多个字段用逗号分隔开(hive-partition-key的加强版)

  --hcatalog-partition-values 指定分区值,多分区值用逗号分隔开(hive-partition-value的加强版)

  

sqoop参数详解的更多相关文章

  1. Nginx主配置参数详解,Nginx配置网站

    1.Niginx主配置文件参数详解 a.上面博客说了在Linux中安装nginx.博文地址为:http://www.cnblogs.com/hanyinglong/p/5102141.html b.当 ...

  2. iptables参数详解

    iptables参数详解 搬运工:尹正杰 注:此片文章来源于linux社区. Iptalbes 是用来设置.维护和检查Linux内核的IP包过滤规则的. 可以定义不同的表,每个表都包含几个内部的链,也 ...

  3. chattr的常用参数详解

    chattr的常用参数详解 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 在实际生产环境中,有的运维工程师不得不和开发和测试打交道,在我们公司最常见的就是部署接口.每天每个人部署的 ...

  4. mha配置参数详解

    mha配置参数详解: 参数名字 是否必须 参数作用域 默认值 示例 hostname Yes Local Only - hostname=mysql_server1, hostname=192.168 ...

  5. $.ajax()方法所有参数详解;$.get(),$.post(),$.getJSON(),$.ajax()详解

    [一]$.ajax()所有参数详解 url: 要求为String类型的参数,(默认为当前页地址)发送请求的地址. type: 要求为String类型的参数,请求方式(post或get)默认为get.注 ...

  6. linux PHP 编译安装参数详解

    linux PHP 编译安装参数详解 ./configure --prefix=/usr/local/php --with-config-file-path=/usr/local/php/etc -- ...

  7. 【转】jqGrid 各种参数 详解

      [原文]http://www.cnblogs.com/younggun/archive/2012/08/27/2657922.htmljqGrid 各种参数 详解 JQGrid JQGrid是一个 ...

  8. HTML滚动字幕代码参数详解及Js间隔滚动代码

    html文字滚动代码 <marquee style="WIDTH: 388px; HEIGHT: 200px" scrollamount="2" dire ...

  9. mysql5.6主从参数详解

    mysql5.6的主从相当的不错,增加了不少参数,提升了主从同步的安全和效率,以下是mysql5.6主从参数详解. 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 ...

随机推荐

  1. Synchronize和ReentrantLock区别

    转自:https://blog.csdn.net/m0_37700275/article/details/83151850 目录介绍1.Synchronize和ReentrantLock区别 1.1 ...

  2. winform中如何在多线程中更新UI控件--ListView实时显示执行信息

    1.在winform中,所有对UI的操作,都得回到UI线程(主线程)上来,才不会报错 线程间操作无效: 从不是创建控件的线程访问它. 2.在winform中,允许通过Control.invoke对控件 ...

  3. django 模块创建 同步数据表 使用方法

    1 配置数据库   100行左右 DATABASES = { 'default': { 'ENGINE': 'django.db.backends.mysql', # 'NAME': 'student ...

  4. url编码问题小计

    昨天通过get访问服务器遇到了服务器获取不到参数的问题,最后排查下来是因为url编码的原因,之前使用的是字符串拼接,所以有一些特殊字符如‘%’没有正确的编码, 通过改成各个部分编码,正确获取到数据. ...

  5. es reindex

    # 添加mapping: url -X POST 'http://127.0.0.1:9200/indexName/typeName/_mapping?pretty' -d '{ "type ...

  6. Latex使用记事(1)

    意义用途 用于出版物的排版,样式控制,使得编排标准美观. 整体框架 一个最简环境 \documentclass{article} \begin{document} content... \end{do ...

  7. docker推送镜像到docker本地仓库报错:http: server gave HTTP response to HTTPS client

    因为Docker从1.3.X之后,与docker registry交互默认使用的是https,然而此处搭建的私有仓库只提供http服务,所以当与私有仓库交互时就会报上面的错误. 解决办法: vim / ...

  8. node 环境安装

    记录一下, 方便自己需要时用, 免得到处找 1. 官网下载安装node(选择LTS长期支持版本), 一路点击next即可(傻瓜式安装) 2. 验证是否正确安装, 打开命令窗口, 执行 node -v ...

  9. 安装sshpass

    sshpass: 用于非交互的ssh 密码验证  ssh登陆不能在命令行中指定密码,也不能以shell中随处可见的,sshpass 的出现,解决了这一问题.它允许你用 -p 参数指定明文密码,然后直接 ...

  10. create-react-app创建项目修改配置项的两种方法

    方法一:eject 打开 package.json ,可以看到eject.运行 npm run eject 可以让由create-react-app创建的项目的配置项暴露出来. { ... " ...