問題: SQL ステートメントにエラーがあります: AnalysisException: Table or view not foundProblem: Error in SQL statement: AnalysisException: Table or view not found

問題点Problem

テーブルまたはビューに対してクエリを実行しようとすると、次のエラーが表示される。When you try to query a table or view, you get this error:

AnalysisException:Table or view not found when trying to query a global temp view

原因Cause

通常は、グローバル temp ビューを作成して、異なるセッションからアクセスできるようにし、アプリケーションが終了するまでその状態を維持します。You typically create global temp views so they can be accessed from different sessions and kept alive until the application ends. 次のステートメントを使用して、グローバル temp ビューを作成できます。You can create a global temp view with the following statement:

df.createOrReplaceGlobalTempView("<global-view-name>")

ここでは、dfDataFrame です。Here, df is the DataFrame. ビューを作成するもう1つの方法は、次のとおりです。Another way to create the view is with:

CREATE GLOBAL TEMP VIEW <global-view-name>

すべてのグローバル一時ビューは、global_tempという名前のシステム一時データベースに関連付けられています。All global temporary views are tied to a system temporary database named global_temp. global_temp データベースに明示的に言及せずに、グローバルテーブルまたはビューに対してクエリを実行すると、エラーが発生します。If you query the global table or view without explicitly mentioning the global_temp database, then the error occurs.

ソリューションSolution

グローバルビューデータを正常に照会できるように、global_temp データベースでは常に修飾されたテーブル名を使用します。Always use the qualified table name with the global_temp database, so that you can query the global view data successfully.

例えば次が挙げられます。For example:

%sql
select * from global_temp.<global-view-name>;