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

此条目有帮助吗?