Databricks - pyspark.pandas.Dataframe.to_excel 无法识别 abfss 协议

Databricks - pyspark.pandas.Dataframe.to_excel does not recognize abfss protocol

我想在 Python 中使用 Azure Databricks 将 Dataframe (pyspark.pandas.Dataframe) 保存为 Azure Data Lake Gen2 上的 Excel 文件。 我已经切换到 pyspark.pandas.Dataframe,因为它是自 Spark 3.2 以来推荐的。

有一个名为 to_excel 的方法(here 文档)允许将文件保存到 ADL 中的容器中,但我遇到了文件系统访问协议的问题。 从同一个 class 我使用方法 to_csv 和 to_parquet 使用 abfss 我想对 excel.

使用相同的方法

所以当我尝试使用以下方式保存它时:

import pyspark.pandas as ps
# Omit the df initialization
file_name = "abfss://CONTAINER@SERVICEACCOUNT.dfs.core.windows.net/FILE.xlsx"
sheet = "test"
df.to_excel(file_name, test)

我从 fsspec 得到错误:

ValueError: Protocol not known: abfss

有人可以帮我吗?

提前致谢!

pandas 数据帧不支持该协议。在 Databricks 上,您似乎只能通过 Spark 数据帧访问和写入 abfss 上的文件。因此,解决方案是在本地写入文件并手动移动到 abfss。请参阅此答案 here