airflow.providers.apache.hdfs.hooks.webhdfs

Web HDFS 的 Hook。

模組內容

類別

WebHDFSHook

與 HDFS 互動。此類別是 hdfscli 程式庫的封裝器。

屬性

log

airflow.providers.apache.hdfs.hooks.webhdfs.log[source]
exception airflow.providers.apache.hdfs.hooks.webhdfs.AirflowWebHDFSHookException[source]

Bases: airflow.exceptions.AirflowException

WebHDFS hook 的特定例外。

class airflow.providers.apache.hdfs.hooks.webhdfs.WebHDFSHook(webhdfs_conn_id=default_conn_name, proxy_user=None)[source]

Bases: airflow.hooks.base.BaseHook

與 HDFS 互動。此類別是 hdfscli 程式庫的封裝器。

參數
  • webhdfs_conn_id (str) – 用於連線到 webhdfs 用戶端的連線 ID。

  • proxy_user (str | None) – 用於驗證的使用者。

conn_type = 'webhdfs'[source]
conn_name_attr = 'webhdfs_conn_id'[source]
default_conn_name = 'webhdfs_default'[source]
hook_name = 'Apache WebHDFS'[source]
get_conn()[source]

根據透過組態或環境變數設定的安全性模式建立連線。

返回

hdfscli InsecureClient 或 KerberosClient 物件。

返回類型

Any

check_for_path(hdfs_path)[source]

透過查詢 FileStatus 檢查 HDFS 中路徑是否存在。

參數

hdfs_path (str) – 要檢查的路徑。

返回

如果路徑存在則為 True,否則為 False。

返回類型

bool

load_file(source, destination, overwrite=True, parallelism=1, **kwargs)[source]

上傳檔案到 HDFS。

參數
  • source (str) – 檔案或資料夾的本機路徑。如果是資料夾,則會上傳其中的所有檔案。 .. note:: 這表示不會遠端建立空的檔案資料夾。

  • destination (str) – 目標 HDFS 路徑。如果它已存在且為目錄,則檔案將上傳到其中。

  • overwrite (bool) – 覆寫任何現有的檔案或目錄。

  • parallelism (int) – 用於平行處理的執行緒數。值 0 (或負數) 會使用與檔案數量一樣多的執行緒。

  • kwargs (Any) – 轉發到 hdfs.client.Client.upload() 的關鍵字引數。

read_file(filename)[source]

從 HDFS 讀取檔案。

參數

filename (str) – 要讀取的檔案路徑。

返回

檔案內容為原始字串

返回類型

bytes

這個條目是否有幫助?