我正在运行一个带有MySQL元存储的Spark 2.1.0 Thrift服务器。
在我长期运行的应用程序中,我使用createGlobalTempView
或createOrReplaceTempView
函数保存数据帧,但我无法使用直线看到它们
当我使用write().saveAsTable()
时,它是可以的,我可以看到带直线的表。
我的旧款服务器和应用程序是同一Spark集群上的两个应用程序,我设置了
spark.sql.hive.thriftServer.singleSession=true
对于标准的临时视图,这是一种预期的行为。临时表仅在特定SparkSession
的范围内可见。
spark.sql.hive.thriftServer.singleSession
表示到Thrift服务器的所有连接都应该使用单个会话,而不是所有应用程序都有一个全局会话。
要使用Thrift-serve公开临时表,您必须使用与表注册相同的上下文来启动它。
对于全局临时视图(2.1+),您应该使用限定名称(包括数据库名称spark.sql.globalTempDatabase
)来访问该视图。