没有这样的文件或目录:.../part.0.parquet

No such file or directory: .../part.0.parquet

将 parquet 文件上传到我的 kubernetes 集群以使用 Dask 进行处理后,我在尝试读取时收到 FileNotFoundError

df=dd.read_parquet('home/jovyan/foo.parquet')
df.head()

这是完整的错误:

FileNotFoundError: [Errno 2] No such file or directory: '/home/jovyan/user_engagement_anon.parquet/part.0.parquet'

我可以看到该文件确实存在,并且相对于我的 jupyter notebook 实例的工作目录,它位于预期的位置。

我不确定这是否重要,但是为了在我的 kubernetes 集群上启动 dask 客户端,我使用了以下代码:

from dask.distributed import Client, progress

client=Client('dask-scheduler:8786', processes=False, threads_per_worker=4, n_workers=1, memory_limit='1GB')
client

此外,同样的操作在我的本地机器上使用相同的 parquet 文件工作正常

问题是我使用 helm 版本单独安装了 dask。 因此,dask workers 没有与 jupyter notebook 共享相同的文件系统

为了解决这个问题,我使用了 dask-kubernetes python 库来创建工作人员,而不是单独的 helm 版本。