【问题标题】:How to use Dask Distributed Futures如何使用 Dask 分布式期货
【发布时间】:2020-08-19 05:27:30
【问题描述】:

我有一个未来是我广播的一个 python 集 (LocalCluster):

In [0]: [set_future] = client.scatter([_set], broadcast=True)

In [1]: set_future

Out[1]: Future: set status: finished, type: builtins.set, key: set-529f704c52fef330450e5d68302fbeac

现在我只想在我的map_partitons op 中提供这些数据:

In [2]: def mapper(pdf, _set):
          assert type(_set)==set
          return pdf

        ddf.map_partitions(mapper, set_future)

Out[2]: AssertionError()

但是,在映射器中,类型是 distributed.client.Future 而不是 set。未来似乎并没有从集群中恢复过来。我究竟做错了什么?

【问题讨论】:

    标签: dask dask-distributed


    【解决方案1】:

    如果您不向map_partitions 提供meta,则Dask 将尝试使用虚拟数据推断它,并实际评估您的映射函数。但是,在这种情况下,future 不会从集群中解析,这将导致您的函数出错。

    总之,如果您使用期货,您必须提供meta

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2017-01-18
      • 2019-11-06
      • 1970-01-01
      • 2017-06-08
      • 1970-01-01
      相关资源
      最近更新 更多