airflow.providers.apache.sqoop.hooks.sqoop

此模組包含一個 Sqoop 1.x Hook。

模組內容

類別

SqoopHook

Sqoop 1 二進位檔案的包裝器。

class airflow.providers.apache.sqoop.hooks.sqoop.SqoopHook(conn_id=default_conn_name, verbose=False, num_mappers=None, hcatalog_database=None, hcatalog_table=None, properties=None, libjars=None, extra_options=None)[source]

繼承自:airflow.hooks.base.BaseHook

Sqoop 1 二進位檔案的包裝器。

若要使用此 Hook,需要將 “sqoop” 加入到 PATH 環境變數中。

可以透過 Sqoop 連線的 ‘extra’ JSON 欄位傳遞的額外參數

  • job_tracker: Job tracker local|jobtracker:port。

  • namenode: Namenode。

  • files: 要複製到 MapReduce 叢集的逗號分隔檔案。

  • archives: 要在計算節點上解壓縮的逗號分隔封存檔。

    機器。

  • password_file: 包含密碼的檔案路徑。

參數
  • conn_id (str) – Sqoop 連線的參考。

  • verbose (bool) – 將 Sqoop 設定為詳細模式。

  • num_mappers (int | None) – 平行匯入的地圖任務數量。

  • properties (dict[str, Any] | None) – 要透過 -D 參數設定的屬性

  • libjars (str | None) – 可選的逗號分隔 Jar 檔案,用於包含在類別路徑中。

  • extra_options (dict[str, Any] | None) – 要以字典形式傳遞的額外匯入/匯出選項。如果鍵沒有值,只需傳遞一個空字串即可。Sqoop 選項請勿包含 – 前綴。

conn_name_attr = 'conn_id'[source]
default_conn_name = 'sqoop_default'[source]
conn_type = 'sqoop'[source]
hook_name = 'Sqoop'[source]
get_conn()[source]

傳回 Hook 的連線。

cmd_mask_password(cmd_orig)[source]

為了安全起見,遮蔽命令密碼。

popen(cmd, **kwargs)[source]

遠端 Popen。

參數
  • cmd (list[str]) – 要遠端執行的命令

  • kwargs (Any) – Popen 的額外參數 (請參閱 subprocess.Popen)

傳回值

子程序控制代碼

傳回類型

import_table(table, target_dir=None, append=False, file_type='text', columns=None, split_by=None, where=None, direct=False, driver=None, schema=None)[source]

從遠端位置匯入表格到目標目錄。

參數是直接 Sqoop 命令列參數的副本。

參數
  • table (str) – 要讀取的表格

  • schema (str | None) – Schema 名稱

  • target_dir (str | None) – HDFS 目的地目錄

  • append (bool) – 將資料附加到 HDFS 中現有的資料集

  • file_type (str) – “avro”、“sequence”、“text” 或 “parquet”。以指定格式匯入資料。預設為 text。

  • columns (str | None) – <col,col,col…> 要從表格匯入的欄位

  • split_by (str | None) – 用於分割工作單位的表格欄位

  • where (str | None) – 匯入期間要使用的 WHERE 子句

  • direct (bool) – 如果資料庫存在直接連線器,則使用它

  • driver (Any) – 手動指定要使用的 JDBC 驅動程式類別

import_query(query, target_dir=None, append=False, file_type='text', split_by=None, direct=None, driver=None)[source]

從 rdbms 匯入特定查詢到 hdfs。

參數
  • query (str) – 要執行的自由格式查詢

  • target_dir (str | None) – HDFS 目的地目錄

  • append (bool) – 將資料附加到 HDFS 中現有的資料集

  • file_type (str) – “avro”、“sequence”、“text” 或 “parquet” 以指定格式將資料匯入到 hdfs。預設為 text。

  • split_by (str | None) – 用於分割工作單位的表格欄位

  • direct (bool | None) – 使用直接匯入快速路徑

  • driver (Any | None) – 手動指定要使用的 JDBC 驅動程式類別

export_table(table, export_dir=None, input_null_string=None, input_null_non_string=None, staging_table=None, clear_staging_table=False, enclosed_by=None, escaped_by=None, input_fields_terminated_by=None, input_lines_terminated_by=None, input_optionally_enclosed_by=None, batch=False, relaxed_isolation=False, schema=None)[source]

將 Hive 表格匯出到遠端位置。

參數是直接 Sqoop 命令列參數的副本

參數
  • table (str) – 表格遠端目的地

  • schema (str | None) – Schema 名稱

  • export_dir (str | None) – 要匯出的 Hive 表格

  • input_null_string (str | None) – 字串欄位的 null 字串解釋

  • input_null_non_string (str | None) – 非字串欄位的 null 字串解釋

  • staging_table (str | None) – 資料在插入到目的地表格之前將暫存的表格

  • clear_staging_table (bool) – 指示可以刪除暫存表格中存在的任何資料

  • enclosed_by (str | None) – 設定必要的欄位括字符

  • escaped_by (str | None) – 設定跳脫字元

  • input_fields_terminated_by (str | None) – 設定欄位分隔符號

  • input_lines_terminated_by (str | None) – 設定行尾字元

  • input_optionally_enclosed_by (str | None) – 設定選用的欄位括字符

  • batch (bool) – 對於底層語句執行,使用批次模式

  • relaxed_isolation (bool) – 交易隔離等級,用於讓 Mapper 讀取未提交的資料

此條目是否有幫助?