R中的多核和data.table
我正在尝试使用与data.table
parallel
multicore
功能,并且无法完全按照正确的方式来执行此操作。 码:
require(multicore)
require(data.table)
dtb = data.table(a=1:10, b=1:2)
x = dtb[,parallel(a+1),by=b]
> x
b pid fd
1: 1 12243 3
2: 1 12243 6
3: 2 12247 4
4: 2 12247 8
我想对此调用collect()
,但这些不再是parallel
对象。 应该怎么做?
我认为这符合你想要的内容:
collect(dtb[, list(jobs = list(parallel(a+1))), by = b][, jobs])
之所以没有parallel
对象,不能运行collect
是因为您将它们转换为list
,而不是将它们存储在列表中,这正是我上面所做的。
上一篇: multicore and data.table in R
下一篇: Update statement causes fields to be updated with NULL or maximum value