5.2.11 命令&参数:job
用来生成一个sqoop任务,生成后不会立即执行,需要手动执行。
命令:
如:
|
$ bin/sqoop job \ –create myjob — import-all-tables \ –connect jdbc:mysql://hadoop102:3306/company \ –username root \ –password 000000 $ bin/sqoop job \ –list $ bin/sqoop job \ –exec myjob |
尖叫提示:注意import-all-tables和它左边的–之间有一个空格
尖叫提示:如果需要连接metastore,则–meta-connect jdbc:hsqldb:hsql://linux01:16000/sqoop
参数:
|
序号 |
参数 |
说明 |
|
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时,如果需要手动输入数据库密码,可以做如下优化
|
<property> <name>sqoop.metastore.client.record.password</name> <value>true</value> <description>If true, allow saved passwords in the metastore.</description> </property> |
5.2.12 命令&参数:list-databases
命令:
如:
|
$ bin/sqoop list-databases \ –connect jdbc:mysql://hadoop102:3306/ \ –username root \ –password 000000 |
参数:与公用参数一样
5.2.13 命令&参数:list-tables
命令:
如:
|
$ bin/sqoop list-tables \ –connect jdbc:mysql://hadoop102:3306/company \ –username root \ –password 000000 |
参数:与公用参数一样
5.2.14 命令&参数:merge
将HDFS中不同目录下面的数据合并在一起并放入指定目录中
数据环境:
|
new_staff 1 AAA male 2 BBB male 3 CCC male 4 DDD male old_staff 1 AAA female 2 CCC female 3 BBB female 6 DDD female |
尖叫提示:上边数据的列之间的分隔符应该为\t,行与行之间的分割符为\n,如果直接复制,请检查之。
命令:
如:
|
创建JavaBean: $ bin/sqoop codegen \ –connect jdbc:mysql://hadoop102:3306/company \ –username root \ –password 000000 \ –table staff \ –bindir /home/admin/Desktop/staff \ –class-name Staff \ –fields-terminated-by “\t”
开始合并: $ bin/sqoop merge \ –new-data /test/new/ \ –onto /test/old/ \ –target-dir /test/merged \ –jar-file /home/admin/Desktop/staff/Staff.jar \ –class-name Staff \ –merge-key id 结果: 1 AAA MALE 2 BBB MALE 3 CCC MALE 4 DDD MALE 6 DDD FEMALE |
参数:
|
序号 |
参数 |
说明 |
|
1 |
–new-data <path> |
HDFS 待合并的数据目录,合并后在新的数据集中保留 |
|
2 |
–onto <path> |
HDFS合并后,重复的部分在新的数据集中被覆盖 |
|
3 |
–merge-key <col> |
合并键,一般是主键ID |
|
4 |
–jar-file <file> |
合并时引入的jar包,该jar包是通过Codegen工具生成的jar包 |
|
5 |
–class-name <class> |
对应的表名或对象名,该class类是包含在jar包中的 |
|
6 |
–target-dir <path> |
合并后的数据在HDFS里存放的目录 |
上一篇: 尚硅谷大数据技术之Sqoop第5章 Sqoop一些常用命令及参数
下一篇: 尚硅谷大数据技术之Sqoop第5章 Sqoop一些常用命令及参数

