我一直在学习本教程,该教程使我能够从Python连接到Databricks,然后运行delta表查询。然而,我偶然发现了一个问题。当我第一次运行它时,我得到以下错误:
帐户中的容器名称storage-account.blob.core.windows.net未找到,我们无法创建它使用匿名凭据,并且在中找不到它们的凭据配置。
当我回到Databricks集群并运行此代码片段时
from pyspark import SparkContext
spark_context =SparkContext.getOrCreate()
if StorageAccountName is not None and StorageAccountAccessKey is not None:
print('Configuring the spark context...')
spark_context._jsc.hadoopConfiguration().set(
f"fs.azure.account.key.{StorageAccountName}.blob.core.windows.net",
StorageAccountAccessKey)
(其中StorageAccountName
和AccessKey
是已知的(然后再次运行我的Python应用程序,它成功运行,不会引发之前的错误。我想问,有没有一种方法可以从我的Python应用程序中运行这个代码片段,同时将其反映在我的Databricks集群中?
您只需要将这些配置选项添加到集群本身中,如文档中所述。您需要设置以下Spark属性,与您在代码中所做的相同:
fs.azure.account.key.<storage-account-name>.blob.core.windows.net <storage-account-access-key>
为了安全起见,最好将访问密钥放入机密范围,并从Spark配置中引用(请参阅文档(