Sqoop常用命令及参数介绍
Sqoop常用命令介绍
命令 | 说明 |
|---|---|
import | 数据导入到集群。 |
export | 集群数据导出。 |
codegen | 获取数据库中某张表数据生成Java并打包jar。 |
create-hive-table | 创建Hive表。 |
eval | 执行SQL并查看结果。 |
import-all-tables | 导入某个数据库下的所有表到HDFS中。 |
job | 生成一个sqoop任务。 |
list-databases | 列举数据库名。 |
list-tables | 列举表名。 |
merge | 将HDFS不同目录下的数据合在一起并存放到指定目录。 |
metastore | 启动元数据库,记录sqoop job的元数据。 |
help | 打印帮助信息。 |
version | 打印版本信息。 |
公用参数介绍
分类 | 参数 | 说明 |
|---|---|---|
连接数据库 | --connect | 连接关系型数据库的URL。 |
--connection-manager | 指定连接管理类。 | |
--driver jdbc | 连接驱动包。 | |
--help | 帮助信息。 | |
--password | 连接数据库密码。 | |
--username | 连接数据库的用户名。 | |
--verbose | 在控制台打印详细信息。 | |
import参数 | --fields-terminated-by | 设定字段分隔符,和Hive表或HDFS文件保持一致。 |
--lines-terminated-by | 设定行分隔符,和Hive表或HDFS文件保持一致。 | |
--mysql-delimiters | MySQL默认分隔符设置。 | |
export参数 | --input-fields-terminated-by | 字段分隔符。 |
--input-lines-terminated-by | 行分隔符。 | |
hive参数 | --hive-delims-replacement | 用自定义的字符替换数据中的\r\n等字符。 |
--hive-drop-import-delims | 在导入数据到Hive时,去掉\r\n等字符。 | |
--map-column-hive | 生成Hive表时可以更改字段的数据类型。 | |
--hive-partition-key | 创建分区。 | |
--hive-partition-value | 导入数据库指定分区。 | |
--hive-home | 指定Hive安装目录。 | |
--hive-import | 表示操作是从关系型数据库导入到Hive中。 | |
--hive-overwrite | 覆盖Hive已有数据。 | |
--create-hive-table | 创建Hive表,默认false,如果目标表不存在,则会创建目标表。 | |
--hive-table | 指定Hive表。 | |
--table | 关系型数据库表名。 | |
--columns | 指定需要导入的关系型数据表字段。 | |
--query | 指定查询语句,将查询结果导入。 | |
hcatalog参数 | --hcatalog-database | 指定hive库,使用hcatalog方式导入Hive库。 |
--hcatalog-table | 指定hive表,使用hcatalog方式导入Hive表。 | |
其他参数 | -m或--num-mappers | 后跟数字,表示sqoop任务的分片数。 |
--split-by | 按照某一字段进行分片,配合-m。 | |
--target-dir | 指定HDFS临时目录。 | |
--null-string string | 类型为null时替换字符串。 | |
--null-non-string | 非string类型为null时替换字符串。 | |
--check-column | 增量判断的字段。 | |
--incremental append或lastmodified | 增量导入参数。
| |
--last-value | 指定一个值,用于标记增量导入。 | |
--input-null-string | 替换null字符串,如果没有指定,则字符串null将被使用。 | |
--input-null-non-string | 替换非String的null字符串,如果没有指定,则字符串null将被使用。 |

