更新时间:2025-04-11 GMT+08:00
分享

Sqoop常用命令及参数介绍

Sqoop常用命令介绍

表1 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

打印版本信息。

公用参数介绍

表2 公用参数介绍

分类

参数

说明

连接数据库

--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将被使用。

相关文档