Spark 2.1.0 Thrift服务器不显示全局临时表

时间:2017-01-11 20:02:27

标签: java apache-spark apache-spark-sql thrift

我正在运行带有MySQL Metastore的Spark 2.1.0 Thrift服务器。

在我长期运行的应用程序中,我保存了具有createGlobalTempViewcreateOrReplaceTempView功能的数据框,但我无法直接看到它们

当我使用write().saveAsTable()时,没关系,我可以直接看到桌子。

我的thrift服务器和应用程序是同一个Spark集群上的2个应用程序,我设置了

spark.sql.hive.thriftServer.singleSession=true

1 个答案:

答案 0 :(得分:2)

对于标准临时视图是预期的行为。临时表仅在特定SparkSession范围内可见。

spark.sql.hive.thriftServer.singleSession表示与Thrift服务器的所有连接都应该使用单个会话,而不是所有应用程序都有一个全局会话。

要使用Thrift服务公开临时表,您必须使用与已注册表相同的上下文启动它。

对于全局临时视图(2.1+),您应该使用限定名称(包括数据库名称spark.sql.globalTempDatabase)来访问视图。