gpt4 book ai didi

r - 在 sparklyr 中断开连接后,spark 数据帧是否会自动删除?如果没有,我们该怎么做?

转载 作者:可可西里 更新时间:2023-11-01 16:36:19 24 4
gpt4 key购买 nike

在关闭连接时,以下列方式复制到 spark 的数据帧会发生什么情况?

library(sparklyr)
library(dplyr)
sc <- spark_connect(master = "local")
iris_tbl <- copy_to(sc, iris)
spark_disconnect(sc)

如果它们没有被自动删除,除了按以下方式删除每个数据帧之外,是否有任何简单的方法可以删除 session 期间创建的所有数据帧?

sc %>% spark_session() %>% invoke("catalog") %>% invoke("dropTempView", "iris")

即使它是自动完成的,当 spark 看到有必要清理临时 View 时,它是立即完成还是延迟完成?

我有一个脚本,它不断调用 spark 并将临时数据帧复制到 spark 中以进行一些操作。如果最终没有删除,我担心那些临时数据帧会堆积在集群中。

最佳答案

Spark 中临时 View 的生命周期通常与相应的 SparkSession 的生命周期紧密耦合,并且不能在其范围之外访问(全局 View 是一个异常(exception),但与标准 View 一样,不能超过他们的 session )。如果 JVM session 关闭和/或垃圾回收,相应的临时空间将被废弃。

但是临时 View 不会以其他方式删除,因此只要 session 存在,临时表也会存在。

正如我在其他地方 (How to delete a Spark DataFrame using sparklyr?) 解释的那样,这通常不是一个严重的问题。

关于r - 在 sparklyr 中断开连接后,spark 数据帧是否会自动删除?如果没有,我们该怎么做?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51995226/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com