存储配置

Microsoft Azure

师成师成· 更新于 2026-09-29· 阅读 3 分钟· 0 次阅读

登录后可跨设备保存划线和私人笔记登录

本页介绍如何在 Microsoft Azure 上使用 Hudi。

免责声明

本页由 Hudi 社区维护。如果信息不准确,或者您有补充内容,欢迎创建 GitHub issue。非常感谢您的贡献。

支持的存储系统

有两种存储系统支持 Hudi:

  • Azure Blob Storage
  • Azure Data Lake Gen 2

已验证的 Spark 与存储系统组合

Azure Data Lake Storage Gen 2 上的 HDInsight Spark 2.4

该组合开箱即用,无需额外配置。

Azure Data Lake Storage Gen 2 上的 Databricks Spark 2.4

  • 将 Hudi jar 导入 databricks 工作区

  • 将文件系统挂载到 dbutils。

    dbutils.fs.mount(
      source = "abfss://xxx@xxx.dfs.core.windows.net",
      mountPoint = "/mountpoint",
      extraConfigs = configs)
  • 写入 Hudi 数据集时,使用 abfss URL

    inputDF.write
      .format("org.apache.hudi")
      .options(opts)
      .mode(SaveMode.Append)
      .save("abfss://<<storage-account>>.dfs.core.windows.net/hudi-tables/customer")
  • 读取 Hudi 数据集时,使用挂载点

    spark.read
      .format("org.apache.hudi")
      .load("/mountpoint/hudi-tables/customer")

并发控制

从 Hudi 1.2.0 起,基于存储的锁提供器在并发控制中支持 Azure ADLS Gen2(abfs://、abfss://)和 Azure Blob 存储(wasb://、wasbs://)作为基础路径。这让 Azure 上的多写入端流水线可以利用存储原生的条件写入来实现加锁,无需依赖 ZooKeeper 或 Hive Metastore 等外部系统。

将 hudi-azure-bundle 添加到你的类路径中,并设置:

hoodie.write.lock.provider=org.apache.hudi.client.transaction.lock.StorageBasedLockProvider

锁定客户端支持多种 Azure 认证方式(连接字符串、SAS 令牌、托管标识、服务主体以及 DefaultAzureCredential)。完整的配置参考和认证优先级请参阅并发控制 — 基于 Azure 存储的锁。

博客

评论

登录后参与评论

正在加载评论…