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作業。下面的命令用於建立一個從DB資料庫的employee表匯入到HDFS檔案的作業。

$ sqoop job --create myjob \
--import \
--connect jdbc:mysql://localhost/db \
--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 
...