Erreur dans l’instruction SQL : AnalysisException: Table or view not found

Problème

Lorsque vous essayez d’interroger une table ou une vue, vous recevez le message d’erreur suivant :

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

Cause

En général, vous créez temp des affichages globaux afin qu’ils soient accessibles à partir de différentes sessions et restent actifs jusqu’à la fin de l’application. Vous pouvez créer une temp vue globale à l’aide de l’instruction suivante :

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

Ici, df est le DataFrame . Une autre façon de créer la vue consiste à :

CREATE GLOBAL TEMP VIEW <global-view-name>

Toutes les vues temporaires globales sont liées à une base de données temporaire système nommée global_temp . Si vous interrogez la table ou la vue globale sans mentionner explicitement la global_temp base de données, l’erreur se produit.

Solution

Utilisez toujours le nom de la table qualifiée avec la global_temp base de données, afin de pouvoir interroger correctement les données d’affichage global.

Par exemple :

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