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

Problem

Wenn Sie versuchen, eine Tabelle oder Sicht abzufragen, erhalten Sie den folgenden Fehler:

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

Ursache

In der Regel erstellen Sie globale temp Ansichten, sodass sie von verschiedenen Sitzungen aus zugänglich sind und bis zum Ende der Anwendung aktiv bleiben. Sie können eine globale temp Ansicht mit der folgenden Anweisung erstellen:

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

Hier df ist der DataFrame . Eine weitere Möglichkeit zum Erstellen der Ansicht ist folgendermaßen:

CREATE GLOBAL TEMP VIEW <global-view-name>

Alle globalen temporären Sichten sind an eine temporäre Systemdatenbank mit dem Namen global_temp gebunden. Wenn Sie die globale Tabelle oder Sicht abfragen, ohne die Datenbank explizit zu global_temp erwähnen, tritt der Fehler auf.

Lösung

Verwenden Sie immer den qualifizierten Tabellennamen mit der global_temp Datenbank, damit Sie die globalen Ansichtsdaten erfolgreich abfragen können.

Beispiel:

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