Как srckeep влияет на базовый фрейм диска?
У меня дисковый фрейм с этими столбцами
key_a
key_b
key_c
value
Скажем, фрейм диска составляет 200 миллионов строк, и я хотел бы сгруппировать его по key_b. Кроме того, я хочу, чтобы нижележащий дисковый фрейм оставался неизменным, чтобы позже я мог присоединить его к чему-то еще на key_c или агрегировать его на key_a. Меня беспокоит, что srckeep влияет на базовый фрейм диска.
Будет ли что-то из этого работать? Если да, могу ли я ожидать, что один будет быстрее другого?
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)
]
Как любое из этих агрегатов повлияет на базовый фрейм диска? Ранее у меня был опыт, когда я назначил агрегирование переменной, а затем запустил
delete(aggregation
, но он удалил весь фрейм диска.
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")