sqoop import 命令常用参数

sqoop import 命令常用参数

表1.常用参数

参数 描述
--connect 指定JDBC连接字符串
--connection-manager 指定要使用的连接管理器类
--driver 手动指定要使用的JDBC驱动程序类
--hadoop-mapred-home 覆写$ HADOOP_MAPRED_HOME
--help 打印使用说明
--password-file 设置包含验证密码的文件的路径
-P 从控制台读取密码
--password 设置认证密码
--username 设置认证用户名
--verbose 工作时打印更多信息
--connection-param-file 提供连接参数的可选属性文件
--relaxed-isolation 将连接事务隔离设置为读取未提交的映射器。

表2.验证参数更多详细信息

参数 描述
--validate 启用对复制数据的验证,仅支持单表复制。
--validator 指定要使用的验证器类。
--validation-threshold 指定要使用的验证阈值类。
--validation-failurehandler 指定要使用的验证失败处理程序类。

表3.导入控制参数:

参数 描述
--append 将数据追加到HDFS中的现有数据集
--as-avrodatafile 将数据导入Avro数据文件
--as-sequencefile 将数据导入到SequenceFiles
--as-textfile 以纯文本格式导入数据(默认)
--as-parquetfile 将数据导入Parquet文件
--boundary-query 用于创建拆分的边界查询
--columns 要从表中导入的列
--delete-target-dir 删除导入目标目录(如果存在)
--direct 如果数据库存在,请使用直接连接器
--fetch-size 一次要从数据库读取的条目数。
--inline-lob-limit 设置内联LOB的最大大小
-m,--num-mappers 使用n个地图任务并行导入
-e,--query 导入的结果*statement*。
--split-by 该表的列用于拆分工作单位。不能与--autoreset-to-one-mapper选项一起使用 。
--split-limit 每个分割尺寸的上限。这仅适用于Integer和Date列。对于日期或时间戳记字段,以秒为单位进行计算。
--autoreset-to-one-mapper 如果表没有主键并且没有提供分隔列,则导入应使用一个映射器。不能与选项一起使用 。
--table 表格阅读
--target-dir HDFS目标目录
--temporary-rootdir 导入期间创建的临时文件的HDFS目录(覆盖默认的“ _sqoop”)
--warehouse-dir 表目标的HDFS父级
--where 导入期间使用的WHERE子句
-z,--compress 启用压缩
--compression-codec 使用Hadoop编解码器(默认gzip)
--null-string 要为字符串列的空值写入的字符串
--null-non-string 非字符串列将为空值写入的字符串

表4.覆盖映射的参数

参数 描述
--map-column-java 覆盖从SQL到Java类型的已配置列的映射。
--map-column-hive 覆盖已配置列的从SQL到Hive类型的映射。

表5.增量导入参数:

参数 描述
--check-column (col) 指定在确定要导入的行时要检查的列。(该列的类型不得为CHAR / NCHAR / VARCHAR / VARNCHAR / LONGVARCHAR / LONGNVARCHAR)
--incremental (mode) 指定Sqoop如何确定哪些行是新的。mode include append和的法律价值lastmodified
--last-value (value) 指定上一次导入中检查列的最大值。

表6.输出行格式参数:

参数 描述
--enclosed-by 设置必填字段的封闭字符
--escaped-by 设置转义字符
--fields-terminated-by 设置字段分隔符
--lines-terminated-by 设置行尾字符
--mysql-delimiters 使用MySQL的默认定界符集:字段:, 行:\n 转义者:\ 可选地封闭者:'
--optionally-enclosed-by 设置一个字段包围字符

表7.输入解析参数:

参数 描述
--input-enclosed-by 设置必填字段
--input-escaped-by 设置输入转义字符
--input-fields-terminated-by 设置输入字段分隔符
--input-lines-terminated-by 设置输入的行尾字符
--input-optionally-enclosed-by 设置一个字段包围字符

表8. Hive参数:

参数 描述
--hive-home 覆写 $HIVE_HOME
--hive-import 将表导入Hive(如果未设置,则使用Hive的默认定界符。)
--hive-overwrite 覆盖Hive表中的现有数据。
--create-hive-table 如果设置,则目标配置单元将使作业失败
表存在。默认情况下,此属性为false。
--hive-table 设置导入Hive时要使用的表名。
--hive-drop-import-delims 导入到Hive时,从字符串字段中 删除*\ n*,\ r和*\ 01*。
--hive-delims-replacement 导入到Hive时,将字符串字段中的*\ n*,\ r和*\ 01* 替换为用户定义的字符串。
--hive-partition-key 要分区的配置单元字段的名称被分片
--hive-partition-value 用作此作业的分区键的字符串值导入到此作业中的蜂巢中。
--map-column-hive 覆盖已配置列的从SQL类型到Hive类型的默认映射。如果在此参数中指定逗号,请使用URL编码的键和值,例如,使用DECIMAL(1%2C%201)代替DECIMAL(1,1)。

表9. HBase参数:

参数 描述
--column-family 设置导入的目标列族
--hbase-create-table 如果指定,请创建缺少的HBase表
指定将哪个输入列用作行键
如果输入表包含复合
键,则
组合键的逗号分隔列表
属性
--hbase-table 指定要用作目标而不是HDFS的HBase表
--hbase-bulkload 启用批量加载
必须采用a的形式

表10. Accumulo参数:

参数 描述
--accumulo-table 指定一个Accumulo表代替HDFS用作目标
--accumulo-column-family 设置导入的目标列族
--accumulo-create-table 如果指定,创建丢失的Accumulo表
指定将哪个输入列用作行键
--accumulo-visibility (可选)指定可见性令牌,以应用于插入Accumulo的所有行。默认为空字符串。
--accumulo-batch-size (可选)设置Accumulo写入缓冲区的大小(以字节为单位)。默认值为4MB。
--accumulo-max-latency (可选)设置Accumulo批处理写入器的最大延迟(以毫秒为单位)。默认值为0。
--accumulo-zookeepers 逗号分隔的Accumulo实例使用的Zookeeper服务器列表
--accumulo-instance 目标Accumulo实例的名称
--accumulo-user 导入为的Accumulo用户的名称
--accumulo-password Accumulo用户的密码

表11.代码生成参数:

参数 描述
--bindir 编译对象的输出目录
--class-name 设置生成的类名。这将覆盖 --package-name。与结合使用时 --jar-file,设置输入类别。
--jar-file 禁用代码生成;使用指定的罐子
--outdir 生成代码的输出目录
--package-name 将自动生成的类放在此包中
--map-column-java 覆盖已配置列的从SQL类型到Java类型的默认映射。

表12.其他导入配置属性:

参数 描述
sqoop.bigdecimal.format.string 控制以字符串形式存储时BigDecimal列的格式。值true(默认)将使用toPlainString来存储它们而不包含指数成分(0.0000001);而值of false将使用toString,其中可能包含指数(1E-7)
sqoop.hbase.add.row.key 设置为false(默认)时,Sqoop不会将用作行键的列添加到HBase中的行数据中。设置true为时,用作行键的列将添加到HBase中的行数据中。

你可能感兴趣的:(学习笔记,sqoop,sqoop)