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 | 启用批量加载 |
表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中的行数据中。 |