Sqoop Job – 创建和执行 Job

1.本章目的

在本章中,我们将了解什么是Sqoop Job。 Sqoop Job可以在sqoop中创建和处理保存的作业。 介绍使用Sqoop和Sqoop Job增量导入创建作业的方法。

2. Sqoop – Saved Job

通过多次请求相同的命令,可以反复执行sqoop的Import和Export操作。这是使用增量导入 (Incremental Imort)功能时常用的方案。

可以通过Sqoop定义保存作业。 为了在以后执行Sqoop命令,相应的配置信息需要由Sqoop保存的作业来记录。

Sqoop Job 描述在默认情况下,被存储在$ HOME / .sqoop /的私人存储库。 可以将Sqoop配置为使用共享的Metastore。 这样,已保存的作业可以让共享集群中的多个用户使用。

3. Sqoop Job语法

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

Sqoop Job参数可以按任何顺序相互输入。 Hadoop通用参数必须在任何作业参数之前。

Sqoop Job 参数

1542548013266860.png

4.如何创建Sqoop Job

通过使用-create 选项,可以在sqoop中创建保存的作业。如:

$ sqoop job –create myjob — import –connect jdbc:mysql://example.com/db \
   –table mytable

上述命令创建了一个名为myjob的Sqoop Job。 可以以后执行该Job。 该作业在保存的作业列表中,如:

$ sqoop job –list
Available jobs:
 Myjob

5.检查Sqoop Job

通过使用show 选项,可以检查 Sqoop Job的配置:

$ sqoop job –show myjob
Job: myjob
Tool: import
Options:
—————————-
direct.import = false
codegen.input.delimiters.record = 0
hdfs.append.dir = false
db.table = mytable

也可以执行Sqoop Job:

$ sqoop job –exec myjob
10/08/19 13:08:45 INFO tool.CodeGenTool: Beginning code generation

另外,exec 选项可以用来覆盖已保存Job的参数。如果需要覆盖原来的参数,可以在 – 之后输入新的参数。如下面例子,如果数据库发生了变化,需要一个用户名,那么可以用下面的方式指定用户名和密码:

$ sqoop job –exec myjob — –username someuser -P
Enter password:

6. Saved Job和Password

多个用户可以访问Sqoop Metastore,默认情况下,Sqoop不会在Metastore中存储密码。 如果出于安全目的,需要创建安全的sqoop作业,通过在配置中将sqoop.metastore.client.record.password设置为true,可以轻松地在Metastore中启用密码。

每次执行作业时都会提示输入密码。

Sqoop Job – 创建和执行 Job

发表评论

邮箱地址不会被公开。 必填项已用*标注

84 ÷ 二十 八 =

滚动到顶部