Fehler in SQL-Anweisung: AnalysisException: Table or view not foundError in SQL statement: AnalysisException: Table or view not found

ProblemProblem

Wenn Sie versuchen, eine Tabelle oder eine Sicht abzufragen, erhalten Sie den folgenden Fehler: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

UrsacheCause

In der Regel erstellen Sie globale temp Ansichten, damit Sie von verschiedenen Sitzungen aus auf Sie zugreifen und bis zum Ende der Anwendung aktiv bleiben.You typically create global temp views so they can be accessed from different sessions and kept alive until the application ends. Sie können eine globale temp Ansicht mit der folgenden-Anweisung erstellen:You can create a global temp view with the following statement:

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

Hier df ist der DataFrame .Here, df is the DataFrame. Eine weitere Möglichkeit zum Erstellen der Sicht ist:Another way to create the view is with:

CREATE GLOBAL TEMP VIEW <global-view-name>

Alle globalen temporären Sichten sind an eine temporäre Systemdatenbank mit dem Namen gebunden global_temp .All global temporary views are tied to a system temporary database named global_temp. Wenn Sie die globale Tabelle oder Sicht Abfragen, ohne die Datenbank explizit zu erwähnen global_temp , tritt ein Fehler auf.If you query the global table or view without explicitly mentioning the global_temp database, then the error occurs.

LösungSolution

Verwenden Sie immer den qualifizierten Tabellennamen mit der global_temp Datenbank, damit Sie die globalen Ansichts Daten erfolgreich Abfragen können.Always use the qualified table name with the global_temp database, so that you can query the global view data successfully.

Beispiel:For example:

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