1

我一直在学习本教程,它让我可以从 Python 连接到 Databricks,然后运行增量表查询。但是,我偶然发现了一个问题。当我第一次运行它时,我收到以下错误:

找不到帐户 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)

(在哪里StorageAccountNameAccessKey已知)然后再次运行我的 Python 应用程序,它成功运行而不会抛出以前的错误。我想问一下,有没有办法从我的 Python 应用程序运行此代码片段,同时将其反映在我的 Databricks 集群上?

4

1 回答 1

1

您只需按照文档中的说明将这些配置选项添加到集群本身。您需要设置以下 Spark 属性,与您在代码中所做的一样:

fs.azure.account.key.<storage-account-name>.blob.core.windows.net <storage-account-access-key>

为了安全起见,最好将访问密钥放入秘密范围,并从 Spark 配置中引用它(请参阅文档

于 2021-11-29T10:55:43.430 回答