gpt4 book ai didi

scala - 从 Apache SQL Spark 中删除临时表

转载 作者:行者123 更新时间:2023-12-03 13:11:49 24 4
gpt4 key购买 nike

我有 registertemptableApache Spark使用 Zeppelin以下:

val hvacText = sc.textFile("...")

case class Hvac(date: String, time: String, targettemp: Integer, actualtemp: Integer, buildingID: String)

val hvac = hvacText.map(s => s.split(",")).filter(s => s(0) != "Date").map(
s => Hvac(s(0),
s(1),
s(2).toInt,
s(3).toInt,
s(6))).toDF()

hvac.registerTempTable("hvac")

在我用这个临时表完成我的查询后,我该如何删除它?

我检查了所有文档,似乎我无处可去。

有什么指导吗?

最佳答案

Spark 2.x

对于临时 View ,您可以使用 Catalog.dropTempView :

spark.catalog.dropTempView("df")

对于全局 View ,您可以使用 Catalog.dropGlobalTempView :
spark.catalog.dropGlobalTempView("df")

如果 View 不存在,这两种方法都可以安全调用,并且从 Spark 2.1 开始,返回 bool 值,指示操作是否成功。

Spark 1.x

您可以使用 SQLContext.dropTempTable :
scala.util.Try(sqlContext.dropTempTable("df"))

它仍然可以在 Spark 2.0 中使用,但将处理委托(delegate)给 Catalog.dropTempView如果表不存在,则可以安全使用。

关于scala - 从 Apache SQL Spark 中删除临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32376066/

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