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

Problem

Wenn Sie versuchen, eine Tabelle oder Ansicht abzufragen, erhalten Sie diesen Fehler:

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

Ursache

In der Regel erstellen Sie globale temp-Ansichten, damit sie von verschiedenen Sitzungen aus aufgerufen und bis zum Ende der Anwendung beibehalten werden können. Sie können eine globale temp-Ansicht mit der folgenden Anweisung erstellen:

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

df ist hier DataFrame. Eine weitere Möglichkeit zum Erstellen der Ansicht ist:

CREATE GLOBAL TEMP VIEW <global-view-name>

Alle globalen temporären Ansichten sind mit einer temporären Systemdatenbank namens global_temp verbunden. Wenn Sie die globale Tabelle oder Ansicht abfragen, ohne die global_temp-Datenbank explizit zu erwähnen, tritt der Fehler auf.

Lösung

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

Beispiel:

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