想要从Spark上下文中删除单个数据表(' sc')。我知道单个缓存表可以不缓存,但这与从sc中删除对象不同 - 就我所能收集而言。
library(sparklyr)
library(dplyr)
library(titanic)
library(Lahman)
spark_install(version = "2.0.0")
sc <- spark_connect(master = "local")
batting_tbl <- copy_to(sc, Lahman::Batting, "batting")
titanic_tbl <- copy_to(sc, titanic_train, "titanic", overwrite = TRUE)
src_tbls(sc)
# [1] "batting" "titanic"
tbl_cache(sc, "batting") # Speeds up computations -- loaded into memory
src_tbls(sc)
# [1] "batting" "titanic"
tbl_uncache(sc, "batting")
src_tbls(sc)
# [1] "batting" "titanic"
要断开整个sc,我会使用spark_disconnect(sc)
,但在这个例子中它会破坏&#34; titanic&#34;和&#34;击球&#34;存储在sc。
相反,我想删除例如&#34;击球&#34;像spark_disconnect(sc, tableToRemove = "batting")
这样的东西,但这似乎不可能。
答案 0 :(得分:13)
dplyr::db_drop_table(sc, "batting")
我试过这个功能,看起来很有效。
答案 1 :(得分:3)
稍低级别的替代方案是
Override