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 |
增量导入参数 append:追加,比如对大于last-value指定的值之后的记录进行追加导入。 lastmodified:最后的修改时间,追加last-value指定的日期之后的记录。 |
|
--last-value |
指定一个值,用于标记增量导入 |
|
--input-null-string |
替换null字符串,如果没有指定,则字符串null将被使用。 |
|
--input-null-non-string |
替换非String的null字符串,如果没有指定,则字符串null将被使用。 |