2

私は、MySQLメタストアを備えたspark 2.1.0リトリーブサーバを実行しています。私の長い実行中のアプリケーションでSpark 2.1.0スリフトサーバがグローバル温度テーブルを表示しない

、私はcreateGlobalTempViewまたはcreateOrReplaceTempView機能でデータフレームを保存するんだけど、私はwrite().saveAsTable()を使用する場合、それはOKであると私は表を参照することができ真っすぐ

でそれらを見ることができませんビーライン。

マイ倹約サーバとアプリケーションが同じスパーククラスタ上の2つのアプリケーションであり、私は標準の一時的なビューについてspark.sql.hive.thriftServer.singleSession=true

答えて

2

を設定するには、予想される動作です。テンポラリテーブルは、特定のSparkSessionのスコープ内でのみ表示されます。

spark.sql.hive.thriftServer.singleSessionは、すべてのアプリケーションに対して1つのグローバルセッションが存在するのではなく、1つのセッションを使用する必要があることを示します。

Thriftサービスで一時テーブルを公開するには、テーブルが登録されているのと同じコンテキストで開始する必要があります。

グローバル・テンポラリ・ビュー(2.1+)の場合は、修飾名(データベース名はspark.sql.globalTempDatabaseを含む)を使用してビューにアクセスする必要があります。

関連する問題