【问题标题】:File Not Found Error in Dask program run on cluster在集群上运行的 Dask 程序中找不到文件错误
【发布时间】:2018-12-01 21:04:21
【问题描述】:

我有 4 台机器,M1、M2、M3 和 M4。调度程序、客户端、工作人员在 M1 上运行。我在 M1 中放了一个 csv 文件。其余的机器是工人。

当我在 dask 中运行带有 read_csv 文件的程序时。它给了我错误,找不到文件

【问题讨论】:

    标签: dask dask-distributed dask-delayed dask.distributed


    【解决方案1】:

    当您的某个工作人员尝试加载 CSV 时,它将无法找到它,因为该本地磁盘上不存在该文件。这应该不足为奇。您可以通过多种方式解决此问题:

    • 将文件复制到每个工人;这在磁盘空间方面显然是浪费的,但最容易实现
    • 将文件放在网络文件系统(NFS mount、gluster、HDFS 等)上
    • 将文件放在亚马逊 S3 等外部存储系统上并引用该位置
    • 在本地进程中加载​​数据并分散分布;在这种情况下,数据可能足够小以适合内存,并且可能 dask 不会为您做太多事情。

    【讨论】:

    • to_csv 中也会出现类似的问题。我的意思是工人会在他们的机器上写他们的部分计算文件?
    • 在 dask 中,工作节点有可能在需要时从客户端获取一些(或整个文件)本身?
    • 是的,您可以从客户端upload files
    • Dask 会自动完成还是我必须做一些配置?
    • dask 怎么会知道这样做?另外,请注意,这不是 file_upload 的预期用途,如果您要使用复制方法,最好自己整理副本。
    猜你喜欢
    • 2018-09-28
    • 1970-01-01
    • 1970-01-01
    • 2016-03-12
    • 2017-01-09
    • 1970-01-01
    • 2021-07-29
    • 2012-11-03
    • 2018-09-01
    相关资源
    最近更新 更多