作者:我是王美慧 | 来源:互联网 | 2022-12-02 16:54
我正在运行一个Spark集群,并且在Databricks Notebook上执行以下命令时,它会为我提供输出:
dbutils.fs.ls("/mnt/test_file.json")
[FileInfo(path=u'dbfs:/mnt/test_file.json', name=u'test_file.json', size=1083L)]
但是,当我尝试读取该文件时,出现以下错误:
with open("mnt/test_file.json", 'r') as f:
for line in f:
print line
IOError: [Errno 2] No such file or directory: 'mnt/test_file.json'
这里可能是什么问题?任何帮助/支持,我们将不胜感激。
1> Silvio..:
为了使用本地文件API访问DBFS挂载上的文件,您需要/dbfs
在路径之前加上路径,因此在这种情况下
with open('/dbfs/mnt/test_file.json', 'r') as f:
for line in f:
print(line)
请参阅https://docs.databricks.com/data/databricks-file-system.html#local-file-apis中的文档,以获取更多详细信息,尤其是有关限制的信息。对于Databricks Runtime 5.5 及更低版本,文件大小限制为2GB。在6.0+版本中,不再存在这种限制,因为FUSE挂载已经过优化,可以处理更大的文件。