我正在尝试读取存储在Azure Data Lake Gen 2上的csv文件,Python在Databricks中运行。这里有2行代码,第一行工作,第二行失败。我真的必须安装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条答案
按热度按时间cnh2zyt31#
Pandas不知道云存储,只能处理本地文件。在Databricks上,你应该能够本地复制文件,这样你就可以用Pandas打开它。这可以用
%fs cp abfss://.... file:/your-location
或dbutils.fs.cp("abfss://....", "file:/your-location")
来完成(见文档)。另一种可能性是在Spark上使用Koalas library来代替Pandas,Koalas library提供了与Pandas兼容的API。除了能够访问云中的数据外,您还可以以分布式方式运行代码。
nzk0hqpo2#
我可以通过将云存储安装为驱动器来解决它。现在工作正常。