无法通过 Databricks 上的本地文件 API 访问文件

Posted

技术标签:

【中文标题】无法通过 Databricks 上的本地文件 API 访问文件【英文标题】:Can't access files via Local file API on Databricks 【发布时间】:2020-02-03 18:10:50 【问题描述】:

我正在尝试使用local file API 访问直接存储在 dbfs 上的小文本文件。

我收到以下错误。

没有这样的文件或目录

我的代码:

val filename = "/dbfs/test/test.txt"
for (line <- Source.fromFile(filename).getLines()) 
  println(line)

同时,我可以使用 dbutils 毫无问题地访问该文件,或者通过 spark 上下文将其加载到 RDD。

我尝试在 Scala 和 Python 中指定以 dbfs://dbfs/ 或仅使用测试文件夹名称开头的路径,每次都得到相同的错误。我正在从笔记本运行代码。是不是集群配置有问题?

【问题讨论】:

顺便说一句 - 我刚刚在社区版集群上测试了这段代码,它工作正常(在一个节点集群上)。 【参考方案1】:

检查您的集群是否启用了凭据直通。如果是,则本地文件 Api 不可用。

https://docs.azuredatabricks.net/data/databricks-file-system.html#local-file-apis

【讨论】:

以上是关于无法通过 Databricks 上的本地文件 API 访问文件的主要内容,如果未能解决你的问题,请参考以下文章

Databricks Connect:无法连接到 azure 上的远程集群,命令:“databricks-connect test”停止

Databricks 上的 RMariaDB

在 Databricks PySpark 中本地保存文件

Databricks-Connect 还返回找不到多个 python 文件作业的模块

通过 Beanstalk 部署的 Docker 容器无法连接到 RDS 上的数据库

如何将压缩的 TSV 文件读取到 Databricks 上的数据框?