Dask 计算(以捕获错误),但将结果保留在工作人员身上

Dask compute (to catch errors), but keep results on workers

我想定义一组操作并 运行 它们在 dask workers 上,并捕获可能出现的任何错误,而无需调用计算并将结果带给客户端。

例如,如果我在对象列上执行 astype(int),这应该会给我一个错误。当我使用 client.persist 时,这不会给我返回错误。

column = df['string column'].astype(int)
client.persist(column)

但是,client.compute 会抛出此错误:

column = df['string column'].astype(int)
client.compute(column)
# ValueError ... Traceback (most recent call last)

有没有办法像在计算中那样立即得到错误,而不是强制 Dask return 将结果发送给客户端?

column = column.persist()
dask.distributd.wait(column)