sqoop参数和样例

11 篇文章 0 订阅
5 篇文章 0 订阅

样例

insert_date=`date -d "1 day ago" +"%Y-%m-%d"`
echo $insert_date
sqoop import \
--connect "jdbc:mysql://ip:3306/database?tinyInt1isBit=false&zeroDateTimeBehavior=convertToNull" \
--username username  \
--password password  \
--query "select * from database.tablename where 1=1 and \$CONDITIONS" \
--delete-target-dir \
--hive-import \
--hive-database database2 \
--hive-table tablename \
--target-dir /home/hadoop/data/20211021/tablename \
--fields-terminated-by '\001' \
--null-string '\\N' \
--null-non-string '\\N' \
--hive-drop-import-delims \
--hive-overwrite \
--hive-partition-key 'dt' \
--hive-partition-value $insert_date \
-m 1
start_time=$(date -d "31 days ago" +%Y-%m-%d)
sqoop import \
--connect "jdbc:mysql://ip:3306/data_center?tinyInt1isBit=false&zeroDateTimeBehavior=convertToNull" \
--username username  \
--password password  \
--query "select * from database.tablename where \$CONDITIONS" \
--hive-import \
--create-hive-table \
--hive-database database2 \
--hive-table tablename \
--target-dir /home/hadoop/data/20211021/tablename \
--fields-terminated-by '\001' \
--null-string '\\N' \
--null-non-string '\\N' \
--hive-drop-import-delims \
--incremental append \
--check-column tablecolumn \
--last-value $start_time \
-m 1

相关参数含义

原文:https://zhuanlan.zhihu.com/p/163266351
1.数据导入:sqoop import

可通过 sqoop import --help 命令查看参数 说明

普通参数

–connect 指定JDBC连接字符串
–connection-manager 指定连接管理器类名
–connection-param-file 指定连接参数文件
–driver 手动指定要使用的JDBC驱动程序类
–hadoop-home 覆盖 $HADOOP_MAPR ED_HOME_ARG 参数
–hadoop-mapred-home 覆盖 $HADOOP_MAPR ED_HOME_ARG 参数
–help 打印使用说明
–metadata-transaction-isolation-level 为元数据查询定义事务隔离级别
–oracle-escaping-disabled 禁用Oracle/OraOop连接管理器的转义机制
-P 从控制台读取密码
–password 设置密码验证
–password-alias 凭据提供程序密码别名
–password-file 在密码文件路径上设置验证
–relaxed-isolation 对导入使用read-uncommi隔离
–skip-dist-cache 跳过将jar复制到分布式缓存
–temporary-rootdir 定义导入的临时根目录
–throw-on-error 在作业期间发生错误时,重新抛出RuntimeException
–username 设置身份验证的用户名
–verbose 工作时打印更多信息
导入的控制参数

–append 以追加模式导入数据
–as-avrodatafile 将导入数据以avro文件存储
–as-parquetfile 将导入数据以parquet文件存储
–as-sequencefile 将导入数据以SequenceFile文件存储
–as-textfile 以纯文本形式导入数据(默认)
–autoreset-to-one-mapper 如果没有拆分键可用,则将映射器的数量重置为一个映射器
–boundary-query 设置边界查询,检索主键的最大值和最小值
–columns <col,col,col…> 指定需要导入的列
–compression-codec 用于导入的压缩编解码器
–delete-target-dir 以删除模式导入数据(如果目标文件存在则删除再导入. 不指定时如果目标路径存在则报错)
–direct 使用直接导入快速路径
–direct-split-size 在直接模式导入时,将输入流按“n”字节分割
-e,–query 导入SQL“语句”的结果
–fetch-size 当需要更多行时,设置从数据库中获取的行数’n’,设置内联LOB的最大大小
-m,–num-mappers 使用n个map任务并行导入.默认并行度为4
–mapreduce-job-name 为生成的mapreduce作业设置名称
–merge-key 要用于合并结果的Key列(用于增量导入时重复数据的合并)
–split-by 用于分割工作单元的表的列
–split-limit 日期/时间/时间戳和整数类型的拆分列每次拆分的行上限。对于日期或时间戳字段,以秒为单位计算。拆分极限应该大于0
–table 读取的表名(要导入的表)
–target-dir 导入的表存放于HDFS中的目标路径
–validate 使用配置的验证器验证副本
–validation-failurehandler ValidationFailureHandler的完全限定类名
–validation-threshold ValidationThreshold的完全限定类名
–validator Validator的完全限定类名
–warehouse-dir 要导入hdfs的父路径
–where 导入时使用WHERE条件过滤
-z,–compress 启用压缩
增量导入参数

–check-column 源列,以检查增量更改
–incremental 定义类型为“append”或“lastmodified”的增量导入
–last-value 增量检查列中最后导入的值
输出行格式化参数

–enclosed-by 设置所需字段的封闭字符
–escaped-by 设置转义字符
–fields-terminated-by 设置字段分隔符
–lines-terminated-by 设置行尾字符
–mysql-delimiters 使用MySQL默认的分隔符集: 字段:, ;行:\n ;转义字符:\ ;字段包围符:’
–optionally-enclosed-by 设置包含字符的字段
输入解析参数

–input-enclosed-by 设置所需的字段罩
–input-escaped-by 设置输入转义字符
–input-fields-terminated-by 设置输入字段分隔符
–input-lines-terminated-by 设置输入行结束字符
–input-optionally-enclosed-by 设置包含字符的字段
Hive参数

–create-hive-table 导入时自动创建Hive表.如果目标hive表存在,则失败
–hive-database 设置导入到hive时要使用的数据库名称
–hive-delims-replacement 用用户定义的字符串替换导入字符串字段中的Hive record \0x01和行分隔符(\n\r)
–hive-drop-import-delims 从导入的字符串字段中删除Hive记录\0x01和行分隔符(\n\r)
–hive-home 覆盖 $HIVE_HOME 配置参数
–hive-import 将表导入到Hive中(如果没有设置任何分隔符,则使用Hive的默认分隔符)
–hive-overwrite 重写Hive表中的现有数据(覆盖导入)
–hive-partition-key 设置导入到hive时要使用的分区键
–hive-partition-value 设置导入到hive时要使用的分区值
–hive-table 设置导入到hive时要使用的表名
–map-column-hive 覆盖指定列到hive类型的映射
HCatalog参数(Hive元数据导入参数)

–hcatalog-database HCatalog数据库名称(即Hive数据库)
–hcatalog-home 覆盖 $HCAT_HOME(即HIVE_HOME)
–hcatalog-partition-keys 设置导入到hive时要使用的分区键
–hcatalog-partition-values 设置导入到hive时要使用的分区值
–hcatalog-table HCatalog表名(即Hive表)
–hive-home 覆盖 $HIVE_HOME
–hive-partition-key 设置导入到hive时要使用的分区键
–hive-partition-value 设置导入到hive时要使用的分区值
–map-column-hive 覆盖指定列到hive类型的映射
HCatalog导入特定选项

–create-hcatalog-table 在导入之前创建HCatalog
–drop-and-create-hcatalog-table 在导入之前删除并创建HCatalog
–hcatalog-storage-stanza 用于创建表的HCatalog存储节
HBase参数

–column-family 设置导入的目标列族
–hbase-bulkload 启用HBase批量加载
–hbase-create-table 如果指定,创建缺少的HBase表
–hbase-row-key 指定要使用哪个输入列作为行键
–hbase-table 导入到HBase中的表名
Accumulo参数

–accumulo-batch-size 批处理大小(以字节为单位)
–accumulo-column-family 设置导入的目标列族
–accumulo-create-table 如果指定,则创建缺少的累加Accumulo表
–accumulo-instance Accumulo实例名
–accumulo-max-latency 最大写延迟(以毫秒为单位)
–accumulo-password Accumulo密码
–accumulo-row-key 指定要使用哪个输入列作为行键
–accumulo-table 导入到Accumulo中的表
–accumulo-user Accumulo用户名
–accumulo-visibility 要应用于导入的所有行的可见性令牌
–accumulo-zookeepers 逗号分隔的zookeeper列表(主机:端口号)
代码生成的参数

–bindir 编译对象的输出目录
–class-name 设置生成的类名,覆盖 --package-name. 当与–jar-file组合时,设置input类.
–escape-mapping-column-names 禁用列名中转义的特殊字符
–input-null-non-string 输入空非字符串表示
–input-null-string 输入空字符串表示
–jar-file 禁用代码生成;使用指定的jar
–map-column-java 覆盖特定列到java类型的映射
–null-non-string 空非字符串表示(数值型默认初始化值:0)
–null-string 空字符串表示(即String默认初始化值:“”)
–outdir 生成代码的输出目录
–package-name 将自动生成的类放在这个包中

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值