Sqoop - 作业



本章介绍如何创建和维护 Sqoop 作业。Sqoop 作业创建并保存导入和导出命令。它指定用于识别和调用已保存作业的参数。这种重新调用或重新执行用于增量导入,它可以将 RDBMS 表中的更新行导入到 HDFS。

语法

以下是创建 Sqoop 作业的语法。

$ sqoop job (generic-args) (job-args)
   [-- [subtool-name] (subtool-args)]

$ sqoop-job (generic-args) (job-args)
   [-- [subtool-name] (subtool-args)]

创建作业(--create)

现在我们创建一个名为 **myjob** 的作业,该作业可以将表数据从 RDBMS 表导入到 HDFS。以下命令用于创建一个作业,该作业将 **db** 数据库中 **employee** 表中的数据导入到 HDFS 文件。

$ sqoop job --create myjob \
-- import \
--connect jdbc:mysql://127.0.0.1/db \
--username root \
--table employee --m 1

验证作业(--list)

“--list” 参数用于验证已保存的作业。以下命令用于验证已保存的 Sqoop 作业列表。

$ sqoop job --list

它显示已保存的作业列表。

Available jobs: 
   myjob

检查作业(--show)

“--show” 参数用于检查或验证特定作业及其详细信息。以下命令和示例输出用于验证一个名为 **myjob** 的作业。

$ sqoop job --show myjob

它显示 **myjob** 中使用的工具及其选项。

Job: myjob 
 Tool: import Options:
 ---------------------------- 
 direct.import = true
 codegen.input.delimiters.record = 0
 hdfs.append.dir = false 
 db.table = employee
 ...
 incremental.last.value = 1206
 ...

执行作业(--exec)

“--exec” 选项用于执行已保存的作业。以下命令用于执行一个名为 **myjob** 的已保存作业。

$ sqoop job --exec myjob

它显示以下输出。

10/08/19 13:08:45 INFO tool.CodeGenTool: Beginning code generation 
...
广告