Apache spark Spark 2.3下降温度表

Apache spark Spark 2.3下降温度表,apache-spark,pyspark,apache-spark-sql,pyspark-sql,Apache Spark,Pyspark,Apache Spark Sql,Pyspark Sql,在各自临时表的使用结束后,我尝试使用droptettable()(为下一次计算释放内存) 较新的Spark会话不需要sqlContext,因此,如何使用该函数让我感到困惑 1) 尝试过,和我注册临时表时使用的DF相同- DF.dropTempTable('xyz') 没用 2) 也尝试了以下方法,因为spark在内部调用了sqlContext以及sparkContext,但不起作用- spark.dropTempTable('xyz') 3) 已尝试删除spark.catalog,但也失败了

在各自临时表的使用结束后,我尝试使用
droptettable()
(为下一次计算释放内存)

较新的Spark会话不需要
sqlContext
,因此,如何使用该函数让我感到困惑

1) 尝试过,和我注册临时表时使用的DF相同-

DF.dropTempTable('xyz')
没用

2) 也尝试了以下方法,因为spark在内部调用了
sqlContext
以及
sparkContext
,但不起作用-

spark.dropTempTable('xyz')
3) 已尝试删除
spark.catalog
,但也失败了-

spark.catalog.dropTempTable('xyz')
怎么办?1.6互联网上的示例在
droptettable()
的2.3版本中不起作用


有什么帮助吗?

对于spark 2.0,API是

用于临时视图
spark.catalog.dropTempView(“df”)

用于全局视图
spark.catalog.dropGlobalTempView(“df”)

从文件中

抽象定义 dropGlobalTempView(视图名称:字符串):布尔值

在目录中删除具有给定视图名称的全局临时视图。如果以前缓存过该视图,那么它也将被取消缓存

全局临时视图是跨会话的。它的生存期是Spark应用程序的生存期,即当应用程序终止时,它将自动删除。它绑定到系统保留的数据库全局临时视图,我们必须使用限定名称来引用全局临时视图,例如,从全局临时视图1中选择*

视图名 要删除的临时视图的非限定名称

返回 如果成功删除视图,则为true,否则为false

抽象定义 dropTempView(视图名称:字符串):布尔值

在目录中删除具有给定视图名称的本地临时视图。如果以前缓存过该视图,那么它也将被取消缓存

本地临时视图是会话作用域。它的生存期是创建它的会话的生存期,也就是说,当会话终止时,它将被自动删除。它不绑定到任何数据库,即我们不能使用db1.view1引用本地临时视图

请注意,此方法的返回类型在Spark 2.0中为Unit,但在Spark 2.1中更改为Boolean

视图名 要删除的临时视图的名称

返回 如果成功删除视图,则为true,否则为false