databricks - 输入 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 社区版。
我不明白我做错了什么以及为什么会这样。我没有其他想法。
解决方案
安装点在/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。
推荐阅读
- excel - 将大型 Excel 工作表加载到 Informix 表的最佳方法是什么?
- c++ - 如何在c ++中返回复合函数的函数指针?
- mongodb - 如何理解 mongostat 的结果?
- javascript - 在多个元素上应用 onchange 事件
- reactjs - 如何在 onClick 上创建动态可编辑反应表
- java - 是否可以在堆栈上使用提供的 Java 集合方法,例如 max、min、sort 等...?
- python - 将函数参数作为参数传递给python中的另一个函数
- angular - Angular 通用 webpack 配置
- performance - 在 Jmeter for Oracle Application 中出现权限不足错误
- java - 在类路径上发现多个绑定 & 在类路径上检测到 log4j-over-slf4j.jar 和 slf4j-log4j12.jar