我在使用Python的azuredatabricks笔记本上,在读取excel文件并将其放入spark数据帧时遇到问题。在
我看到有同样的问题,但它们似乎不适合我。在
我尝试了以下解决方案:
https://sauget-ch.fr/2019/06/databricks-charger-des-fichiers-excel-at-scale/
我添加了访问Azure Data Lake上文件的凭据。在
在安装了我需要的所有库之后,我正在执行以下代码:
import xlrd
import azure.datalake.store
filePathBsp = projectFullPath + "BalanceShipmentPlan_20190724_19h31m37s.xlsx";
bspDf = pd.read_excel(AzureDLFileSystem.open(filePathBsp))
在这里,我使用:
^{pr2}$获取Azure Data Lake中的文件的原因是:
"pd.read_excel"
不让我把文件拿到湖边去。在
问题是,它给了我一个错误:
TypeError: open() missing 1 required positional argument: 'path'
我确信我可以访问此文件,因为当我尝试:
spark.read.csv(filePathBsp)
他能找到我的档案。在
有什么想法吗?在
好吧,经过几天的研究,我终于找到了解决办法。在
在这里!在
你首先要在你的星盘库导入Excel。 这是这个库的页面:https://github.com/crealytics/spark-excel
您还需要“spark\u hadoopOffice”库,否则稍后会出现以下异常:
下载库时要注意集群中Scala的版本,这很重要。在
然后,您必须通过以下方式装载Azure Data Lake Storage(ADL)的凭据:
^{pr2}$您只需要执行一次mount命令。在
然后,您可以执行以下代码行:
给你!你有一个来自Azure Data Lake存储中Excel文件的Spark数据帧!在
它对我有用,希望它能帮助其他人。在
相关问题 更多 >
编程相关推荐