我正在尝试读取存储在 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")
有什么建议吗?
答案 0 :(得分:1)
Pandas 不了解云存储,只能处理本地文件。在 Databricks 上,您应该能够在本地复制文件,因此您可以使用 Pandas 打开它。这可以通过 %fs cp abfss://.... file:///your-location
或 dbutils.fs.cp("abfss://....", "file:///your-location")
完成(参见 docs)。
另一种可能性是代替 Pandas,使用 Koalas library 在 Spark 之上提供与 Pandas 兼容的 API。除了能够访问云中的数据外,您还可以以分布式方式运行代码。
答案 1 :(得分:0)
我可以通过将云存储安装为驱动器来解决它。现在工作正常。