如何编辑/更改现有的sqoop作业

wpx232ag  于 2021-05-29  发布在  Hadoop
关注(0)|答案(4)|浏览(374)

如何编辑/更改现有的sqoop作业?找不到任何与编辑现有sqoop作业相关的文档。请帮忙。

kognpnkq

kognpnkq1#

sqoop1文档不编辑这一个作业,但是sqoop2可以修改。如果是sqoop1,你应该

bin/sqoop job --show your-sync-job

记住配置项

bin/sqoop job --delete your-sync-job

然后

sqoop job --create sqooptest -- import --connect jdbc:mysql://10.10.209.224:3306/sqoop --table userinfo --username sqoop --password "1234" --incremental append --check-column id --last-value 1 --fields-terminated-by '$' --target-dir '/sqoop/userinfo/import2hdfs1'
63lcw9qa

63lcw9qa2#

必须先删除作业,然后重新创建作业。
注意事项: sqoop job --delete jobname 还将删除作业的元存储信息,因此在执行此操作时请小心。

nhaq1z21

nhaq1z213#

一旦创建了sqoop作业,就可以在该作业的下一次执行中重写其参数
例如,您可以像这样创建一个通用作业

sqoop job --create hiveLoad --meta-connect jdbc:hsqldb:hsql://10.113.57.47:16000/sqoop -- import --connect jdbc:oracle:thin:prasads@10.113.59.5:1521/ora11g --username user -P --table DATABASE.TABLE --incremental append --check-column COL_VALUE --last-value '300' -m 1 --target-dir '/user/somewhere' --append

在执行hiveload时,您可以这样执行它

sqoop job --exec hiveLoad --meta-connect jdbc:hsqldb:hsql://10.113.57.47:16000/sqoop -- --username <username> --password <password> --table <database>.<table> --incremental append --check-column <column> --target-dir '/path/to/hdfs'

将<>中的值替换为预期值。
但是,更改现有sqoop作业的定义是不可能的。我相信,最重要的设施缓解了这一问题。
sqoop作业将从原始定义中获取其余未指定值的配置。
查看ApacheSqoop食谱。它是一个很好的资源,涵盖了几乎所有可能的用例。

0tdrvxhp

0tdrvxhp4#

sqoop不提供任何编辑选项。您应该根据需要删除作业并创建作业

相关问题