NEW
Anyscale通过连接和哈希洗牌增强Ray Data以提高性能 - Blockchain.News

Anyscale通过连接和哈希洗牌增强Ray Data以提高性能

realtime news May 20, 2025 04:42

Anyscale在Ray Data中引入了一种基于哈希的洗牌后端,增强了连接和重新分区及聚合的性能。了解Ray 2.46版本中的进展。

Anyscale通过连接和哈希洗牌增强Ray Data以提高性能

根据Anyscale,Anyscale已经推出了Ray Data的一些重大改进,其中突出的是基于哈希的洗牌后端的引入。该新功能是Ray 2.46版本的一部分,旨在增强连接并提高数据重新分区和聚合的性能,同时降低内存压力。

Ray Data的增强功能

最新版本拥有多项新功能,包括通过ds.join() API实现的原生连接支持、基于键的重新分区以及名为AggregateFnV2的简化自定义聚合API。此外,大规模排序的性能得到了提升,从而增强了范围分区洗牌。

新引入的基于哈希的洗牌后端解决了之前范围分区洗牌方法的限制。在之前的版本中,洗牌依赖于范围分区,这需要大量资源且容易成为瓶颈。新方法基于键值对对传入数据块进行分区,将其引导到相应的Aggregator actors进行高效处理。

使用哈希洗牌实现连接

Ray 2.46支持多种连接类型,包括内连接、左/右连接和全外连接。哈希洗牌后端将拥有相同键的记录集中存放,优化了性能。此方法通过PyArrow的原生Table.join操作使用Apache Arrow的Acero引擎,尽管其可能比较耗费内存。

性能基准测试

性能基准测试在多个工作负载中显示了显著的改进。在使用m7i.4xlarge和m7i.16xlarge实例的集群上进行的测试显示,与以前的版本相比,使用基于哈希的洗牌可实现3.3倍到5.6倍的性能提升。值得注意的是,之前无法管理的TPCH-Q1-SF1000工作负载现在在新的后端下是可行的。

额外测试显示范围分区洗牌也有所改善,运行时间提升1.6倍到4.3倍。重要的是,哈希洗牌后端显著降低了峰值内存使用,改进幅度高达3.9倍。

未来发展

展望未来,Anyscale计划扩展对不同连接类型的支持,并实施逻辑计划优化以重新排序连接。还预计会进一步加强数据预处理器。

Ray Data的这些进步将使开发人员拥有更高效的数据处理能力。有关更多见解,请访问官方Anyscale博客

Image source: Shutterstock