配置 Delta 存储凭据

注意

若要配置增量存储凭据,请参阅配置对 Azure Databricks 云对象存储的访问权限。 Databricks 不再建议通过本文所述的 DataFrame 选项传递存储凭据。

Azure Databricks 将 Delta Lake 表的数据存储在云对象存储中。 配置对云对象存储的访问权限需要包含存储帐户的云帐户中的权限。

将存储凭据作为数据帧选项传递

Delta Lake 支持将存储凭据指定为 DataFrameReader 和 DataFrameWriter 的选项。 如果需要与多个由不同访问密钥管理的存储帐户中的数据进行交互,可以使用此方法。

注意

此功能在 Databricks Runtime 10.4 LTS 及更高版本中可用。

例如,可以通过 DataFrame 选项传递存储凭据:

Python

df1 = spark.read \
  .option("fs.azure.account.key.<storage-account-name>.dfs.core.chinacloudapi.cn", "<storage-account-access-key-1>") \
  .read("...")
df2 = spark.read \
  .option("fs.azure.account.key.<storage-account-name>.dfs.core.chinacloudapi.cn", "<storage-account-access-key-2>") \
  .read("...")
df1.union(df2).write \
  .mode("overwrite") \
  .option("fs.azure.account.key.<storage-account-name>.dfs.core.chinacloudapi.cn", "<storage-account-access-key-3>") \
  .save("...")

Scala

val df1 = spark.read
  .option("fs.azure.account.key.<storage-account-name>.dfs.core.chinacloudapi.cn", "<storage-account-access-key-1>")
  .read("...")
val df2 = spark.read
  .option("fs.azure.account.key.<storage-account-name>.dfs.core.chinacloudapi.cn", "<storage-account-access-key-2>")
  .read("...")
df1.union(df2).write
  .mode("overwrite")
  .option("fs.azure.account.key.<storage-account-name>.dfs.core.chinacloudapi.cn", "<storage-account-access-key-3>")
  .save("...")