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