是否可以从Databricks中读取本地Excel文件?

时间:2019-09-23 13:16:47

标签: python pandas xlsx databricks azure-databricks

我能够在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中。

1 个答案:

答案 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控制或其他访问控制方式来本地访问数据。