Apache Spark Databricks代码不再工作,出现“目录未找到”错误

s3fp2yjn  于 2023-05-18  发布在  Apache
关注(0)|答案(1)|浏览(192)

这是四年前的一个问题。它在Databricks Notebook中工作。

%python
import pandas as pd
from io import StringIO

data = """
CODE,L,PS
5d8A,N,P60490
5d8b,H,P80377
5d8C,O,P60491
"""

df = pd.read_csv(StringIO(data), sep=',')
#print(df)
df.to_csv('/dbfs/FileStore/NJ/file1.txt')

pandas_df = pd.read_csv("/dbfs/FileStore/NJ/file1.txt", header='infer') 
print(pandas_df)

但现在不是了。错误消息为:

FileNotFoundError: [Errno 2] No such file or directory: '/dbfs/FileStore/NJ/file1.txt'

好奇问题是什么。因为目录在那里。

uyhoqukh

uyhoqukh1#

从DBR 7.x开始,由于某些原因(可能是为了安全,但我不记得了),/dbfs/(所谓的fuse mount)在Databricks社区版上被禁用。
目前的解决方法是使用dbutils.fs.cp(或dbutils.fs.mv)在DBFS和本地文件系统之间复制文件,并在本地处理文件。(如果未指定URI方案,则默认为DBFS)。
要从DBFS复制到本地文件系统,请执行以下操作:

dbutils.fs.cp("/path-on-dbfs", "file:/local-path")

要从本地文件系统复制到DBFS,请执行以下操作:

dbutils.fs.cp("file:/local-path", "/path-on-dbfs")

相关问题