【发布时间】:2019-10-01 19:03:17
【问题描述】:
我是spark 的新手,假设我在数据库中有“连接”:
a <- data.frame(a = c(1:3), b = sample(letters, 3), c = rep(1))
b <- data.frame(as = c(1:3), b1 = sample(letters, 3), c2 = rep(2), d = c("KISS", "Scorpion", "Poison"))
c <- data.frame(qn = c(10:20), rj = sample(LETTERS, 11))
我可以使用以下代码访问:
conf <- spark_config()
conf$`sparklyr.shell.driver-memory` <- "16G"
conf$`spark.memory.fraction` <- 0.8
conf$`spark.yarn.executor.memoryOverhead` <- "2g"
sc <- spark_connect(master = "", spark_home = "", config = conf, version = "2.3.1")
我可以通过使用将这些移动到我的环境中
tbs <- src_tbls(sc)
data <- lapply(tbs, function(x) tbl(sc, x))
在我的环境中,我希望有 3 个单独的 data.frames 或 tibbles 作为“a”“b”和“c”。任何人都知道我该如何实现这一目标?我有超过 200 个数据集需要这样做,这就是我使用 lapply 的原因。
我确实尝试过,但无济于事:
lapply(tbs, function(x) assign(x, tbl(sc,x)))
谢谢
【问题讨论】:
-
为什么将数据集称为“连接”?您真正想用文字实现什么目标?
-
这有点复杂(至少对我来说)。一般来说,我是 Spark 的新手,但我的 Rstudio Rserver 界面中有一个选项卡销售“连接”(在环境和历史旁边,这是 Rstudio 中的标准)。我正在尝试将“连接”选项卡中存在的许多数据集移动到全局环境。
-
您想将表从 Spark 移动到 R 还是相反?
-
我需要将数据集从 Spark 移动到 Rserver