我有一个带有这些列的磁盘架
setState()
说磁盘框为200M行,我想按key_b对其进行分组。另外,我想保持底层磁盘框架完好无损,因此以后可以将其与key_c上的其他磁盘连接或将其聚集在key_a上。我担心srckeep会影响基础磁盘框架。
这两个都可以吗?如果是这样,我可以期望一个比另一个更快吗?
key_a
key_b
key_c
value
df %>%
srckeep("value", "key_b") %>%
group_by(key_b) %>%
summarize(avg = mean(value)) %>%
collect
这两种聚合将如何影响底层磁盘框架?之前我有一个经验,我为变量分配了聚合,然后运行 df[
keep = c("value", "key_b"
.(avg = mean(value)),
.(key_b)
]
,但是它删除了整个磁盘框架。
答案 0 :(得分:1)
应用操作时,它根本不会更改底层disk.frame!
srckeep
仅影响使用的内容!处理时,它仅将srckeep
中的那些列加载到内存中。同样,它根本不会影响基础数据。
除非您执行write_disk.frame(some_other_diskf, "to/location_of_disk.frame.df", overwrite=TRUE)
,否则它将覆盖旧的disk.frame。
disk.frame始终位于磁盘上。您可以使用attr(diskf, "path")