2016-12-07 5 views
1

Spark Context( 'sc')から単一のデータテーブルを削除しますか?キャッシュされた単一のテーブルがキャッシュされないことがわかっていますが、これはscからオブジェクトを削除するのと同じではありません。SparklyR Spark Contextからテーブルを削除する

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)を使用しますが、この例では、「タイタニック」とSCの内側に格納されている「バッティング」テーブルの両方を破壊するであろう。

むしろ、spark_disconnect(sc, tableToRemove = "batting")のようなもので「バッティング」を削除したいと思いますが、これは可能ではないようです。

答えて

4
dplyr::db_drop_table(sc, "batting") 

この機能を試してみました。

+0

です!他人がそうでないと証明できない限り、これを正しいものとしてマークします。キャッシングを行わずにキャッシングしても、 'src_tbls(sc)'を呼び出した後にテーブルが削除されたように見えます。ありがとう! – eyeOfTheStorm

0

若干低いレベルの選択肢は、右の私には見えます

tbl_name <- "batting" 
DBI::dbGetQuery(sc, paste("DROP TABLE", tbl_name)) 
関連する問題