我能够在Databricks中读取xlsx文件,但是只有在将文件上传到blob存储中之后。
下面的代码可以正常工作:
input_file = pd.read_excel("/dbfs/mnt/container_name/folder_name/input_file.xlsx")
是否可以直接从本地存储库读取xlsx文件?
理想情况下,我正在寻找类似于以下代码:
input_file = pd.read_excel("file:///C:/Users/XXX111/folder_name/input_file.xlsx")
收到错误:
URLError: <urlopen error [Errno 2] No such file or directory: '/C:/Users/XXX111/folder_name/input_file.xlsx'>
文件的位置在C:\ Users \ XXX111 \ folder_name中。
答案 0 :(得分:0)
简短的回答:是的,尽管没有被推荐,这是可能的,但不是您想要的方式。
这很难,但是:
1-您需要在虚拟网络中创建Databrick的工作区,然后考虑下面链接中描述的所有要求,将该网络与本地网络对等:
https://docs.azuredatabricks.net/administration-guide/cloud-configurations/azure/vnet-inject.html
2-之后,您必须安排数据在本地网络中可以访问,例如本地可共享文件系统共享点,一个驱动器或任何FS。
3-因此,这将使Databrick的VM通过内部路由访问文件。
但是,最好的办法是通过数据可以本地访问的位置(例如云上的任何地方)将数据提供给Databricks,例如Azure DataLake,Azure SQL,存储等。
这将为您带来一些优势,例如所有工作空间用户24/7的可用性,为将来算法的部署做好更好的准备,并控制谁可以使用RBAC控制或其他访问控制方式来本地访问数据。