用来生成一个sqoop任务,生成后不会立即执行,需要手动执行。
1、命令案列
[victor@node1 sqoop-1.4.7]$ bin/sqoop job \
--create myjob \
-- import-all-tables \
--connect jdbc:mysql://node1:3306/company \
--username root \
--password 000000 \
--warehouse-dir /user/all_tables4
[victor@node1 sqoop-1.4.7]$ bin/sqoop job \
--list
[victor@node1 sqoop-1.4.7]$ bin/sqoop job \
--exec myjob
尖叫提示
1、注意import-all-tables和 它左边的“- -”之间有一个空格
2、如果需要连接metastore,则--meta-connect jdbc:hsqldb:hsql://node1:16000/sqoop
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时,如果需要手动输入数据库密码,可以做如下优化
3、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>
尖叫提示:hadoop配置文件注释掉了,是默认值,sqoop注释掉了,就是注释掉了,sqoop创建job,加载的是当时的配置信息