本章介紹如何創(chuàng)建和維護(hù)Sqoop作業(yè)。 Sqoop作業(yè)創(chuàng)建并保存導(dǎo)入和導(dǎo)出命令。它指定參數(shù)來(lái)識(shí)別并調(diào)用已保存的工作。這種重新調(diào)用或重新執(zhí)行用在增量導(dǎo)入,可以從RDBMS表到HDFS導(dǎo)入更新的行。
以下是創(chuàng)建Sqoop作業(yè)的語(yǔ)法。
$ sqoop job (generic-args) (job-args) [-- [subtool-name] (subtool-args)] $ sqoop-job (generic-args) (job-args) [-- [subtool-name] (subtool-args)]
在這里,我們創(chuàng)建一個(gè)名為myjob,這可以從RDBMS表的數(shù)據(jù)導(dǎo)入到HDFS作業(yè)。下面的命令用于創(chuàng)建一個(gè)從DB數(shù)據(jù)庫(kù)的employee表導(dǎo)入到HDFS文件的作業(yè)。
$ sqoop job --create myjob \ --import \ --connect jdbc:mysql://localhost/db \ --username root \ --table employee --m 1
‘--list’ 參數(shù)是用來(lái)驗(yàn)證保存的作業(yè)。下面的命令用來(lái)驗(yàn)證保存Sqoop作業(yè)的列表。
$ sqoop job --list
它顯示了保存作業(yè)列表。
Available jobs: myjob
‘--show’ 參數(shù)用于檢查或驗(yàn)證特定的工作,及其詳細(xì)信息。以下命令和樣本輸出用來(lái)驗(yàn)證一個(gè)名為myjob的作業(yè)。
$ sqoop job --show myjob
它顯示了工具和它們的選擇,這是使用在myjob中作業(yè)情況。
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’ 選項(xiàng)用于執(zhí)行保存的作業(yè)。下面的命令用于執(zhí)行保存的作業(yè)稱(chēng)為myjob。
$ sqoop job --exec myjob
它會(huì)顯示下面的輸出。
10/08/19 13:08:45 INFO tool.CodeGenTool: Beginning code generation ...