gpt4 book ai didi

r - 共享内存中的 data.table 以进行并行计算

转载 作者:行者123 更新时间:2023-12-04 12:53:14 25 4
gpt4 key购买 nike

关注 data.table and parallel computing 的帖子,我正在尝试找到一种方法来对 data.table 进行操作并行化。

我有一个 data.table有 400 万行,每行 14 个观察值,并希望在公共(public)内存中共享它,以便可以通过使用带有 parLapply 的“并行”包来并行化对其的操作无需为集群中的每个节点复制表 (parLapply 做了什么)。目前移动 data.table 的费用周围比并行计算的好处更大。

我找到了“bigmemory”包作为共享内存的答案,但它不维护数据的“data.table”结构。那么有没有人知道一种方法:

1) 把 data.table在共享内存中

2)通过这样做来维护数据的“data.table”结构

3) 对此data.table 使用并行处理?

提前致谢!

最佳答案

老问题,但这是一个答案,因为没有其他人回答,它可能会有所帮助。我认为您遇到的问题是因为您在 Windows 上并且必须使用 PSOCK集群类型。不幸的是,对于 Windows,这意味着您必须将数据复制到每个节点。但是,有一个解决方法。获取docker并启动 Rserve docker vm 上的实例(例如 stevenpollack/docker-rserve )。由于这将基于 linux,您可以创建一个 FORK docker vm 上的集群。然后使用您的 native R 实例,您只能将数据副本发送到 Rserve 实例(查看 RSclient 库),在 vm 上执行并行工作,然后将结果收集回您的 native R。

关于r - 共享内存中的 data.table 以进行并行计算,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32714692/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com