问题描述
我正在结合 dtplyr
和 multidplyr
库来处理在非常大的数据库上执行的一些基本变异/汇总操作。
final_db_partition,合并后有时30m行。
我不知道是我做错了什么,但 R 会话中止了还是我的记忆结束了。
R 版本 4.0.5 (2021-03-31) / 平台:x86_64-apple-darwin17.0(64 位)/ 运行于:macOS Big Sur 10.16
我应该如何解决这个问题?
library(multidplyr)
library(dtplyr)
library(dplyr,warn.conflicts = FALSE)
library(data.table)
library(stringr)
default_cluster(parallel::detectCores()-1)
cluster_library(default_cluster(),'dplyr')
cluster_library(default_cluster(),'stringr')
db1 <- db1 %>%
data.table::data.table() %>%
lazy_dt(immutable = FALSE)
db2 <- db2 %>%
data.table::data.table() %>%
lazy_dt(immutable = FALSE)
final_db_partition <- db1 %>%
left_join(db2) %>%
as.data.frame() %>%
group_by(id) %>%
partition(cluster = default_cluster())
final_db <- final_db_partition %>%
as.data.table() %>%
#lazy_dt(immutable = FALSE) %>%
mutate(m1=ifelse(stringi::stri_detect_regex(m_destination,paste0("\\b",m_origin,"\\b")),1,0)) %>%
as.data.frame() %>%
group_by(across(c(-v1,-v2,-v3))) %>%
summarise(finalv1 = sum(finalv1,na.rm=T),finalv2 = sum(finalv2,na.rm=T)) %>%
collect()
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)