开发者学堂课程【Sqoop 企业级大数据迁移方案实战:Job 作业的使用--创建、查看、执行、删除】学习笔记,与课程紧密联系,让用户快速学习知识。
课程地址:https://developer.aliyun.com/learning/course/718/detail/12845
Job 作业的使用--创建、查看、执行、删除
本节学习 Sqoop 中的 job。Job:作业,可以理解是 sqoop 当中的导入导出命令,可以暂时的创建保存起来。当下先不执行,在后期需要时选择指定的 Job 执行。
例如每天凌晨都要进行数据的导入操作,此时可以每天自己定闹钟爬起来做,也可以将这个命令创建出一个 Job,利用其他的调度软件工具让它每天定时的执行 Job,相当于把导入导出的命令创建悬挂起来。Job 的使用就是从创建验证检测到执行。
1.job 语法
$sqoop job(generic-args)(job-args)
[--[subtool-name](subtool-args)]
$sqoop-job (generic-args)(job-args)
[--[subtool-name](subtool-args)]
2.创建 job
在这里,我们创建一个名为 itcastiob,这可以从 RDBMS 表的数据导入到 HDFS 作业。
下面的命令用于创建一个从 DB 数据库的 emp 表导入到 HDFS 文件的作业。
bin/sqoop job --create itcastjob -- import --connect jdbc:mysql://node-1:3306/userdb\
//itcastjob 名字可以指定,-- import 表示导入,固定参数导入 mysql 地址、用户名、密码、路径
--username root \
--password hadoop\
--target-dir/sqoopresult555\
--table emp --m 1
注意 import 前要有空格
打开服务器,复制粘贴上述代码
运行结果报错:
说明已经存在同名的 job,可以修改 itcastjob1,重新复制执行
结果运行成功,已经保存了 job,但没有立即执行,说明 job 的作业不是手动命令回车执行。
创建好 job 后可以使用--list 参数进行查看。
--list 参数用来验证保存的作业。命令:bin/sqoop job --list
复制代码到服务器中,结果显示如图:
当前可用的 job 为两个,这样就能显示出当下系统中所保存的 job。
可用使用--show 参数检查作业。
--show 参数用于检查或验证特定的工作及其详细信息,命令:bin/sqoop job --show myjob
在服务器中输入代码:
bin/sqoop job --show itcastjob1
执行显示出一个命令行需要输入 password,此处密码为 mysql 密码。(创建作业时指定的密码官方不建议使用)
输入密码后显示出 itcastjob1的相关信息:创建时间、连接数据库等。
Job 创建完成后进行执行,通过--exec 参数。
--exec 选项用于执行保存的作业。命令:bin/sqoop job --exec myjob
服务器上输入代码:
bin/sqoop job --exec itcastjob1
继续输入密码。开始执行 job,执行底层数据导入的操作,将之前执行的命令悬挂起来必须我们来执行才能执行。可用借助其它调度工具通过 bin/sqoop job --exec itcastjob1进行执行。
结束后结果显示导出7条记录。
导出后进行验证,打开浏览器查看
以上就完成了作业的执行。
如果想要了解 job 的其它命令,可以通过--help 来查看:
bin/sqoop job --help
其中有相关参数的解释:
例如--create 创建 job,--delete 删除 job,--list 连接到哪里。例如删除刚才的 job,在服务器上输入
bin/sqoop job -- delete itcastjob
回车后就进行删除,可用使用--list 来查看,输入
bin/sqoop job -- list
任务列表中只剩下了 itcastjob1。