airflow.providers.apache.hdfs.hooks.webhdfs

Web HDFS 的 Hook。

屬性

log

異常

AirflowWebHDFSHookException

WebHDFS hook 特定的異常。

WebHDFSHook

與 HDFS 互動。此類是 hdfscli 庫的包裝器。

模組內容

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

繼承自: airflow.exceptions.AirflowException

WebHDFS hook 特定的異常。

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

繼承自: 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]
webhdfs_conn_id = 'webhdfs_default'[source]
proxy_user = None[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) – 本地檔案或資料夾的路徑。如果是一個資料夾,其中的所有檔案都將被上傳。 .. 注意:: 這意味著空的資料夾不會在遠端建立。

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

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

  • parallelism (int) – 用於並行化的執行緒數。值為 0(或負數)時,使用的執行緒數與檔案數相同。

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

read_file(filename)[source]

從 HDFS 讀取檔案。

引數:

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

返回值:

檔案內容為位元組串

返回型別:

bytes

此條目有幫助嗎?