airflow.providers.microsoft.azure.hooks.data_lake

模块内容

AzureDataLakeHook

与 Azure Data Lake 集成。

AzureDataLakeStorageV2Hook

与 ADLS gen2 存储帐户交互。

属性

凭据

airflow.providers.microsoft.azure.hooks.data_lake.Credentials[source]
class airflow.providers.microsoft.azure.hooks.data_lake.AzureDataLakeHook(azure_data_lake_conn_id=default_conn_name)[source]

基类:airflow.hooks.base.BaseHook

与 Azure Data Lake 集成。

AzureDataLakeHook 通过与 WebHDFS 兼容的 REST API 进行通信。请确保存在类型为 azure_data_lake 的 Airflow 连接。可以通过提供 login (=客户端 ID)、password (=客户端密钥) 以及额外的字段 tenant (租户) 和 account_name (帐户名称) 来进行授权。有关示例,请参见连接 azure_data_lake_default

客户端 ID 和密钥应位于用户和密码参数中。租户和帐户名称应作为额外的字段,格式为 {"tenant": "<TENANT>", "account_name": "ACCOUNT_NAME"}

参数

azure_data_lake_conn_id (str) – 引用 Azure Data Lake 连接

conn_name_attr = 'azure_data_lake_conn_id'[source]
default_conn_name = 'azure_data_lake_default'[source]
conn_type = 'azure_data_lake'[source]
hook_name = 'Azure Data Lake'[source]
classmethod get_connection_form_widgets()[source]

返回要添加到连接表单的连接小部件。

classmethod get_ui_field_behaviour()[source]

返回自定义字段行为。

get_conn()[source]

返回 AzureDLFileSystem 对象。

check_for_file(file_path)[source]

检查 Azure Data Lake 上是否存在文件。

参数

file_path (str) – 文件的路径和名称。

返回

如果文件存在,则返回 True,否则返回 False。

返回类型

bool

upload_file(local_path, remote_path, nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304, **kwargs)[source]

将文件上传到 Azure Data Lake。

参数
  • local_path (str) – 本地路径。可以是单个文件、目录(在这种情况下,递归上传)或 glob 模式。不支持使用 ** 的递归 glob 模式。

  • remote_path (str) – 要上传到的远程路径;如果上传多个文件,这是写入的目录根目录。

  • nthreads (int) – 要使用的线程数。如果为 None,则使用核心数。

  • overwrite (bool) – 是否强制覆盖现有文件/目录。如果为 False 并且远程路径是目录,则无论是否会覆盖任何文件,都将退出。如果为 True,则仅实际覆盖匹配的文件名。

  • buffersize (int) – int [2**22] 内部缓冲区的大小(以字节为单位)。此块不能大于一个 chunk,也不能小于一个 block。

  • blocksize (int) – int [2**22] 一个块的大小(以字节为单位)。在每个 chunk 中,我们为每个 API 调用写入一个较小的块。此块不能大于一个 chunk。

download_file(local_path, remote_path, nthreads=64, overwrite=True, buffersize=4194304, blocksize=4194304, **kwargs)[source]

从 Azure Blob 存储下载文件。

参数
  • local_path (str) – 本地路径。如果下载单个文件,将写入此特定文件,除非它是现有目录,在这种情况下,将在其中创建一个文件。如果下载多个文件,这是写入的根目录。将根据需要创建目录。

  • remote_path (str) – 用于查找远程文件的远程路径/glob 字符串。不支持使用 ** 的递归 glob 模式。

  • nthreads (int) – 要使用的线程数。如果为 None,则使用核心数。

  • overwrite (bool) – 是否强制覆盖现有文件/目录。如果为 False 并且远程路径是目录,则无论是否会覆盖任何文件,都将退出。如果为 True,则仅实际覆盖匹配的文件名。

  • buffersize (int) – int [2**22] 内部缓冲区的大小(以字节为单位)。此块不能大于一个 chunk,也不能小于一个 block。

  • blocksize (int) – int [2**22] 一个块的大小(以字节为单位)。在每个 chunk 中,我们为每个 API 调用写入一个较小的块。此块不能大于一个 chunk。

list(path)[source]

列出 Azure Data Lake Storage 中的文件。

参数

path (str) – 用于列出 ADLS 中文件的完整路径/glob 字符串

remove(path, recursive=False, ignore_not_found=True)[source]

删除 Azure Data Lake Storage 中的文件。

参数
  • path (str) – 要在 ADLS 中删除的目录或文件

  • recursive (bool) – 是否循环到位置中的目录并删除文件

  • ignore_not_found (bool) – 如果找不到要删除的文件是否引发错误

class airflow.providers.microsoft.azure.hooks.data_lake.AzureDataLakeStorageV2Hook(adls_conn_id, public_read=False)[source]

基类:airflow.hooks.base.BaseHook

与 ADLS gen2 存储帐户交互。

它主要帮助在具有分层命名空间的存储帐户中创建和管理目录和文件。使用 Adls_v2 连接详细信息创建 DataLakeServiceClient 对象。

由于 Wasb 被标记为旧版且 (ADLS1) 即将停用,因此最好实现 ADLS gen2 Hook 以与存储帐户交互。

参数
  • adls_conn_id (str) – 对 adls 连接的引用。

  • public_read (bool) – 是否应使用匿名公共读取访问权限。默认为 False

conn_name_attr = 'adls_conn_id'[source]
default_conn_name = 'adls_default'[source]
conn_type = 'adls'[source]
hook_name = 'Azure Date Lake Storage V2'[source]
classmethod get_connection_form_widgets()[source]

返回要添加到连接表单的连接小部件。

classmethod get_ui_field_behaviour()[source]

返回自定义字段行为。

service_client()[source]

返回 DataLakeServiceClient 对象(已缓存)。

get_conn()[source]

返回 DataLakeServiceClient 对象。

create_file_system(file_system_name)[source]

在指定的帐户下创建新的文件系统。

容器充当文件的文件系统。

如果已存在具有相同名称的文件系统,则将引发 ResourceExistsError。此方法返回一个客户端,用于与新创建的文件系统进行交互。

get_file_system(file_system)[source]

获取与指定文件系统交互的客户端。

参数

file_system (azure.storage.filedatalake.FileSystemProperties | str) – 这可以是文件系统的名称或 FileSystemProperties 的实例。

create_directory(file_system_name, directory_name, **kwargs)[source]

在指定的文件系统下创建目录。

参数
  • file_system_name (azure.storage.filedatalake.FileSystemProperties | str) – 文件系统的名称或 FileSystemProperties 的实例。

  • directory_name (str) – 需要在文件系统中创建的目录的名称。

get_directory_client(file_system_name, directory_name)[source]

获取指定文件系统下的特定目录。

参数
  • file_system_name (azure.storage.filedatalake.FileSystemProperties | str) – 文件系统的名称或 FileSystemProperties 的实例。

  • directory_name (azure.storage.filedatalake.DirectoryProperties | str) – 需要从文件系统中检索的目录的名称或 DirectoryProperties 的实例。

create_file(file_system_name, file_name)[source]

在文件系统下创建文件。

参数
  • file_system_name (azure.storage.filedatalake.FileSystemProperties | str) – 文件系统的名称或 FileSystemProperties 的实例。

  • file_name (str) – 需要在文件系统中创建的文件的名称。

upload_file(file_system_name, file_name, file_path, overwrite=False, **kwargs)[源代码]

在文件系统中创建包含数据的文件。

参数
  • file_system_name (azure.storage.filedatalake.FileSystemProperties | str) – 文件系统的名称或 FileSystemProperties 的实例。

  • file_name (str) – 要创建的文件名。

  • file_path (str) – 要加载的文件路径。

  • overwrite (bool) – 用于覆盖现有文件的布尔标志。

upload_file_to_directory(file_system_name, directory_name, file_name, file_path, overwrite=False, **kwargs)[源代码]

将数据上传到文件。

参数
  • file_system_name (str) – 文件系统的名称或FileSystemProperties的实例。

  • directory_name (str) – 目录的名称。

  • file_name (str) – 要创建的文件名。

  • file_path (str) – 要加载的文件路径。

  • overwrite (bool) – 用于覆盖现有文件的布尔标志。

list_files_directory(file_system_name, directory_name)[源代码]

列出指定文件系统下的文件或目录。

参数
  • file_system_name (azure.storage.filedatalake.FileSystemProperties | str) – 文件系统的名称或 FileSystemProperties 的实例。

  • directory_name (str) – 目录的名称。

list_file_system(prefix=None, include_metadata=False, **kwargs)[源代码]

列出指定帐户下的文件系统。

参数
  • prefix (str | None) – 筛选结果,仅返回名称以指定前缀开头的文件系统。

  • include_metadata (bool) – 指定在响应中返回文件系统元数据。默认值为 False

delete_file_system(file_system_name)[源代码]

删除文件系统。

参数

file_system_name (azure.storage.filedatalake.FileSystemProperties | str) – 文件系统的名称或 FileSystemProperties 的实例。

delete_directory(file_system_name, directory_name)[源代码]

删除文件系统中指定的目录。

参数
  • file_system_name (azure.storage.filedatalake.FileSystemProperties | str) – 文件系统的名称或 FileSystemProperties 的实例。

  • directory_name (str) – 目录的名称。

test_connection()[源代码]

测试ADLS Gen2存储连接。

此条目是否有帮助?