首页 > 解决方案 > 输入 DBFS 上文件的正确路径

问题描述

我将文件上传到 DBFS:

/FileStore/shared_uploads/name_surname@xxx.xxx/file_name.csv

我试图通过 pandas 访问它们,但我总是收到此类文件不存在的信息。我尝试使用以下路径:

/dbfs/FileStore/shared_uploads/name_surname@xxx.xxx/file_name.csv
dbfs/FileStore/shared_uploads/name_surname@xxx.xxx/file_name.csv
dbfs:/FileStore/shared_uploads/name_surname@xxx.xxx/file_name.csv
./FileStore/shared_uploads/name_surname@xxx.xxx/file_name.csv

有趣的是,当我通过 dbutils.fs.ls 检查它们时,我看到了所有文件。

我找到了这个解决方案,我已经尝试过了:Databricks dbfs file read issue

将它们移动到一个新文件夹:

dbfs:/new_folder/

我试图从这个文件夹中访问它们,但它仍然对我不起作用。唯一的区别是我将文件复制到了不同的地方。

我还检查了文档:https ://docs.databricks.com/data/databricks-file-system.html

我使用 Databricks 社区版。

我不明白我做错了什么以及为什么会这样。我没有其他想法。

标签: databricksdatabricks-community-edition

解决方案


安装点在/dbfs/社区版上不可用(这是一个已知限制),因此您需要执行链接答案中建议的操作:

dbutils.fs.cp(
  'dbfs:/FileStore/shared_uploads/name_surname@xxx.xxx/file_name.csv', 
  'file:/tmp/file_name.csv')

然后/tmp/file_name.csv用作 Pandas 函数的输入参数。如果您需要向 DBFS 写入内容,那么您可以采取其他方式 - 写入本地文件/tmp/...,然后将该文件复制到 DBFS。


推荐阅读