我正在使用Dask执行以下逻辑:
dd.DataFrame
)中读入延迟pd.DataFrame
的主文件query
调用DataFrame.to_hdf
保存来自DataFrame.query
调用的所有数据帧。如果我在compute=False
调用中使用to_hdf
,并将每次Delayed
调用返回的to_hdf
列表馈送到dask.compute
,则会崩溃/ seg错误。 (如果我省略compute=False
,一切正常。)一些谷歌搜索给了我一些有关锁的信息。我尝试添加一个dask.distributed.Client
和一个dask.distributed.Lock
到to_hdf
的{{1}},但是我无法解决崩溃问题。
流程如下:
dask.utils.SerializableLock
答案 0 :(得分:0)
也许您使用的HDF库不是完全线程安全的?如果您不介意失去并行性,则可以在计算调用中添加scheduler="single-threaded"
。
您可能要考虑使用Parquet而不是HDF。这样的问题更少了。