Sqoop 简明教程

Sqoop - Job

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

Syntax

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

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

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

Create Job (--create)

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

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

Verify Job (--list)

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

$ sqoop job --list

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

Available jobs:
   myjob

Inspect Job (--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
 ...

Execute Job (--exec)

‘--exec’ 选项用于执行一个已保存的作业。以下命令用于执行一个被称为 myjob 的已保存作业。

$ sqoop job --exec myjob

它展示给你以下输出。

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