我正在使用 Koalas(Apache Spark 上的 pandas API)将数据帧写入已安装的 Azure blob 存储。调用 df.to_csv API 时,Spark 会引发异常并中止作业。
只有几个阶段似乎因以下错误而失败:
This request is not authorized to perform this operation using this
permission.
我正在使用 PySpark 在 Azure 上使用 Databricks 处理数据。数据产品驻留在已装载的 Azure Blob 存储中。制定了数据块的服务原则,并将其设置为 Azure 存储帐户的“参与者”。
查看存储帐户时,我注意到目录中已经准备了一些第一个 blob。此外,我可以使用带有 pandas 的“纯 Python”方法将输出放置在 blob 存储中。因此,我怀疑这与 Databricks 的授权问题有关。
这是我用来创建错误的最小编码示例。
<Test to see if the blob storage is mounted>
# Import koalas
import databricks.koalas as ks
# Load the flatfile
df = ks.read_csv('/dbfs/spam/eggs.csv')
# Apply transformations
# Write out the dataframe
df.to_csv('/dbfs/bacon/eggs.csv')
由于这个问题有很多方面,我不确定从哪里开始:
Blob 存储和 Databricks 之间的授权问题
Databricks 集群设置不正确
应用错误的 API 方法
文件内容问题
关于在哪里看的任何线索?