You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Databricks的SQL环境中访问GlobalTempView?

解决Databricks中全局临时视图的访问问题

核心问题:全局临时视图的命名空间

全局临时视图默认存储在global_temp系统命名空间下,不属于当前会话的默认命名空间,所以直接用视图名covid会提示找不到。

具体解决方法

  • 方式1:指定命名空间直接访问
    在SQL语句中添加global_temp.前缀,就能定位到全局临时视图:

    -- 查看所有全局临时视图
    SHOW TABLES IN global_temp;
    
    -- 查询全局临时视图数据
    SELECT * FROM global_temp.covid LIMIT 10;
    

    用Spark API访问时同样需要加前缀:

    display(spark.sql('SELECT * FROM global_temp.covid LIMIT 10'))
    
  • 方式2:临时切换到global_temp命名空间
    执行以下SQL切换默认命名空间,之后可直接使用视图名操作:

    USE global_temp;
    SHOW TABLES; -- 此时能看到covid视图
    SELECT * FROM covid LIMIT 10;
    
  • 方式3:创建普通临时视图(替代全局视图)
    如果不需要跨会话共享视图,直接创建普通临时视图即可,无需额外命名空间:

    df.createOrReplaceTempView("covid")
    

    之后直接用视图名就能访问:

    SHOW TABLES;
    SELECT * FROM covid LIMIT 10;
    

关于“视图已存在”的提示

执行df.createGlobalTempView("covid")提示已存在,是因为之前的createOrReplaceGlobalTempView已经成功创建了视图,只是你没找对访问路径。createOrReplaceGlobalTempView本身支持覆盖已有视图,无需在意这个提示。

内容的提问来源于stack exchange,提问作者Ziggy

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.31 11:20:28