Sqoop一些常用命令及参数(二)

命令&参数详解-2 命令&参数(4)import-all-tables + job

一、import-all-tables

可以将RDBMS(关系型数据库)中的所有表导入到HDFS中,每一个表都对应一个HDFS目录

1.命令

如:注意:(卡住)

$ bin/sqoop import-all-tables \

--connect jdbc:mysql://bigdata111:3306/test \

--username root \

--password 000000 \

--hive-import \

--fields-terminated-by "\t"

 

或者-我用的这个:

bin/sqoop-import-all-tables \

--connect jdbc:mysql://bigdata111:3306/test \

--username root --password 000000 \

--as-textfile \

--warehouse-dir /user/root/plus \

-m 1

 

2.参数

序号

参数

说明

1

--as-avrodatafile

这些参数的含义均和import对应的含义一致

2

--as-sequencefile

3

--as-textfile

4

--direct

5

--direct-split-size <n>

6

--inline-lob-limit <n>

7

--m或—num-mappers <n>

8

--warehouse-dir <dir>

9

-z或--compress

10

--compression-codec

二、job

用来生成一个sqoop任务,生成后不会立即执行,需要手动执行。

1.命令

如:

$ bin/sqoop job \

 --create myjob2 

 -- import-all-tables \

 --connect jdbc:mysql://bigdata111:3306/test \

 --username root \

 --password 000000 \

 -m 1

 

$ bin/sqoop job \

--list

 

$ bin/sqoop job \

--exec myjob2

尖叫提示:注意import-all-tables和它左边的--之间有一个空格

尖叫提示:如果需要连接metastore,则--meta-connect

密码输入一次失败,就不会执行了~

执行的结果在HDFS:/user/root/ 目录中,即导出所有表到/user/root中

2.参数

序号

参数

说明

1

--create <job-id>

创建job参数

2

--delete <job-id>

删除一个job

3

--exec <job-id>

执行一个job

4

--help

显示job帮助

5

--list

显示job列表

6

--meta-connect <jdbc-uri>

用来连接metastore服务

7

--show <job-id>

显示一个job的信息

8

--verbose

打印命令运行时的详细信息

尖叫提示:在执行一个job时,如果需要手动输入数据库密码,可以做如下优化

sqoop-site.xml文件:

<property>

<name>sqoop.metastore.client.record.password</name>

<value>true</value>

<description>If true, allow saved passwords in the metastore.</description>

</property>

 

博客园  ©  2004-2025
浙公网安备 33010602011771号 浙ICP备2021040463号-3