更新时间:2024-07-19 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将被使用。