Azure Data Lake Storage REST 接口旨在支持 Azure Blob 存储的文件系统语义。 考虑到 Hadoop 文件系统的目的也是支持这些语义,因此无需在驱动程序中进行复杂的映射。 这样,Azure Blob 文件系统驱动程序 (ABFS) 仅作为 REST API 的客户端填充码。
但是,驱动程序仍然必须执行一些功能:
引用数据的 URI 方案
与 Hadoop 中的其他文件系统实现一样,ABFS 驱动程序自行定义 URI 方案,让资源(目录和文件)能够得到明确处理。 URI 方案记录在使用 Azure Data Lake Storage URI 中。 URI 的结构是 abfs[s]://file_system@account_name.dfs.core.windows.net/<path>/<path>/<file_name>
ABFS 驱动程序在内部将 URI 中指定的资源转换为文件和目录,并使用这些引用调用 Azure Data Lake Storage REST API。
身份验证
ABFS 驱动程序支持两种形式的身份验证,以便 Hadoop 应用程序可以安全地访问支持 Data Lake Storage 的帐户中包含的资源。 Azure 存储安全指南中提供了可用身份验证方案的完整详细信息。 它们是:
共享密钥:这允许用户访问帐户中的所有资源。 密钥被加密并存储在 Hadoop 配置中。
Microsoft Entra ID OAuth 持有者令牌:驱动程序使用最终用户或所配置的某个服务主体的标识获取和刷新 Microsoft Entra 持有者令牌。 使用此身份验证模型时,所有访问都是使用与所提供的令牌关联的标识以调用为单位进行授权的,并且依据所分配的 POSIX 访问控制列表 (ACL) 进行评估。
备注
Azure Data Lake Storage 仅支持 Azure AD v1.0 终结点。
配置
ABFS 驱动程序的所有配置均存储在 core-site.xml 配置文件中。 在带有 Ambari 的 Hadoop 分发上,还可使用 Web 门户或 Ambari REST API 管理配置。