SQL 语句出错:AnalysisException: Table or view not found

问题

当你尝试查询表或视图时,会收到以下错误:

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

原因

通常,你会创建全局 temp 视图,以便可以从不同的会话访问它们并在应用程序结束之前使其保持活动状态。 可以使用以下语句创建全局 temp 视图:

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

在这里,dfDataFrame。 创建此视图的另一种方法是使用以下语句:

CREATE GLOBAL TEMP VIEW <global-view-name>

将所有全局临时视图都绑定到名为 global_temp 的系统临时数据库。 如果在未显式提及 global_temp 数据库的情况下查询全局表或视图,则会发生此错误。

解决方案

请始终对 global_temp 数据库使用限定的表名,以便可以成功查询全局视图数据。

例如:

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