Python Pandas 从 DataLake 读取 csv

时间:2021-01-22 13:08:00

标签: python pandas databricks azure-databricks

我正在尝试读取存储在 Azure Data Lake Gen 2 上的 csv 文件,Python 在 Databricks 中运行。 这是两行代码,第一行有效,第二行失败。 我真的必须挂载 Adls 才能让 Pandas 访问它。

data1 = spark.read.option("header",False).format("csv").load("abfss://oper-iot-uploads@xxx.dfs.core.windows.net/belgium/dessel/c3/kiln/temp/Auto202012101237.TXT")
data2 = pd.read_csv("abfss://oper-iot-uploads@xxx.dfs.core.windows.net/belgium/dessel/c3/kiln/temp/Auto202012101237.TXT")

有什么建议吗?

2 个答案:

答案 0 :(得分:1)

Pandas 不了解云存储,只能处理本地文件。在 Databricks 上,您应该能够在本地复制文件,因此您可以使用 Pandas 打开它。这可以通过 %fs cp abfss://.... file:///your-locationdbutils.fs.cp("abfss://....", "file:///your-location") 完成(参见 docs)。

另一种可能性是代替 Pandas,使用 Koalas library 在 Spark 之上提供与 Pandas 兼容的 API。除了能够访问云中的数据外,您还可以以分布式方式运行代码。

答案 1 :(得分:0)

我可以通过将云存储安装为驱动器来解决它。现在工作正常。