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。以下命令用于创建一个从 employee 表中的 db 数据库到 HDFS 文件。

$ sqoop job --create myjob \
-- import \
--connect jdbc:mysql://本地主机/数据库\
--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 
...