注释
若要配置 Delta 存储凭据,请参阅 使用旧模式配置对 Azure Databricks 的云对象存储的访问权限。 Databricks 不再建议通过 DataFrame 选项传递存储凭据,如本文所述。
Azure Databricks 在云对象存储中存储 Delta Lake 表的数据。 要配置对云对象存储的访问权限,需要在包含您存储帐户的云帐户中拥有相应的权限。
将存储凭据作为 DataFrame 选项传递
Delta Lake 支持将存储凭据指定为 DataFrameReader 和 DataFrameWriter 的选项。 如果需要与受不同访问密钥控制的多个存储帐户中的数据进行交互,可以使用此功能。
注释
此功能在 Databricks Runtime 10.4 LTS 和更高版本中可用。
例如,可以通过 DataFrame 选项传递存储凭据:
Python语言
df1 = spark.read \
.option("fs.azure.account.key.<storage-account-name>.dfs.core.windows.net", "<storage-account-access-key-1>") \
.read("...")
df2 = spark.read \
.option("fs.azure.account.key.<storage-account-name>.dfs.core.windows.net", "<storage-account-access-key-2>") \
.read("...")
df1.union(df2).write \
.mode("overwrite") \
.option("fs.azure.account.key.<storage-account-name>.dfs.core.windows.net", "<storage-account-access-key-3>") \
.save("...")
Scala(编程语言)
val df1 = spark.read
.option("fs.azure.account.key.<storage-account-name>.dfs.core.windows.net", "<storage-account-access-key-1>")
.read("...")
val df2 = spark.read
.option("fs.azure.account.key.<storage-account-name>.dfs.core.windows.net", "<storage-account-access-key-2>")
.read("...")
df1.union(df2).write
.mode("overwrite")
.option("fs.azure.account.key.<storage-account-name>.dfs.core.windows.net", "<storage-account-access-key-3>")
.save("...")