通过 Ray 操作加入或分组

问题描述

我想在集群模式下使用 ray.io 来合并两个几乎无法放入内存的大型数据集(大约相同数量的记录)。 Apache Spark 的 join 会这样做,但我的程序在本地 DC 中运行,其中 k8s 上的 Spark 尚不支持/可用。 Ray.io 看起来更轻量级,并且更容易获得批准,因为它允许扩展其他 ML 相关任务(即并行化 xgboost 等) 所以我正在研究如何使用 ray.io 实现 join 操作。 Group By 或一般 shuffle 也允许我实现 join。

解决方法

Ray 没有本地数据集 API,但您可以使用与 Ray 集成的框架进行连接和分组。

例如,如果您使用 Dask 或 Pandas,则可以使用 Dask-on-rayModin,Ray 将完成所有繁重的工作。