尝试使用PySpark从ADLS Gen2读取csv时,方案“az”无文件系统错误

nxagd54h  于 2023-01-12  发布在  Spark
关注(0)|答案(1)|浏览(144)
import pandas as pd
import pyspark.pandas as ps

我尝试使用pysparkpandas API比较两个类似脚本(一个使用pandas,另一个通过pandas接口使用pyspark)的性能。但是,我在从ADLS Gen2存储导入pyspark中的数据时遇到问题。
当我运行下面的代码时,它按预期工作:

df_pandas = pd.read_csv(f"az://container/path/to/file.csv",sep=';', dtype=str)

然而,当我使用pyspark pandas API运行相同的程序时:

df_spark = ps.read_csv(f"az://container/path/to/file.csv",sep=';', dtype=str)

但是,当我运行这个程序时,会抛出以下错误:

Py4JJavaError: An error occurred while calling o1840.load.
: org.apache.hadoop.fs.UnsupportedFileSystemException: No FileSystem for scheme "az"

我在网上找过,发现其他人在使用AWS时也有类似的问题,但我不知道如何在Azure上解决它。我尝试将az替换为abfs,但随后出现错误:

An error occurred while calling o1852.load.
: abfs://container/path/to/file.csv has invalid authority.

顺便说一句,我正在Azure Synapse笔记本上运行这些。

0md85ypi

0md85ypi1#

我在环境中复制了同样的东西。我得到了这个输出。

    • 从ADLS Gen2读取csv文件。**
    • 代码:**
import pandas 
df = pandas.read_csv('abfss://<container_name>@<storage_account_name>.dfs.core.windows.net/<file_path>', storage_options = {'account_key' : 'account_key_value'})
    • 输出:**

有关详细信息,请参阅此链接1和link2

相关问题