分享

Spark报错:“WARN ObjectStore:568 - Failed to get database global_temp“

Tesla 2018-9-13 14:43:08 发表于 异常错误 [显示全部楼层] 回帖奖励 阅读模式 关闭右栏 2 25155
我已经配置好Spark2.3.1 使用hive1.2.2元数据,但是运行spark-shell时,经常会出现一个WARN。具体情况如下:==============Hive里面有个test表
hive> show tables;
OK
test
Time taken: 0.948 seconds, Fetched: 1 row(s)


==============Spark里面我尝试读取这个表
scala> sql("show tables").show
2018-09-13 14:39:43 WARN  ObjectStore:568 - Failed to get database global_temp, returning NoSuchObjectException
+--------+---------+-----------+
|database|tableName|isTemporary|
+--------+---------+-----------+
| default|     test|      false|
+--------+---------+-----------+


===========================
请问各位,WARN  ObjectStore:568 - Failed to get database global_temp, returning NoSuchObjectException
这条警告的来源是什么,如何消除它

已有(3)人评论

跳转到指定楼层
阿飞 发表于 2018-9-13 18:08:56
本帖最后由 阿飞 于 2018-9-13 18:12 编辑

这是个全局临时表,楼主可以创建一个。由于没用到,所以不会有什么影响。看下
Global Temporary View

上面使用的是一个在Session生命周期中的临时views在Spark SQL中。如果你想拥有一个临时的view不过可以在不同的Session中共享,而且在application的运行周期内可用,那么就需要创建一个全局的临时view。并记得使用的时候加上global_temp作为前缀,因为全局的临时view是绑定到系统保留的数据库global_temp上。

// Register the DataFrame as a global temporary viewdf.createGlobalTempView("people");

// Global temporary view is tied to a system preserved database 注意people前面的global_temp

global_temp`spark.sql("SELECT * FROM global_temp.people").show();

// Global temporary view is cross-session

spark.newSession().sql("SELECT * FROM global_temp.people").show();

作者:shohokuooo
链接:https://www.jianshu.com/p/493237b42faf


回复

使用道具 举报

Tesla 发表于 2018-9-14 14:55:36
阿飞 发表于 2018-9-13 18:08
这是个全局临时表,楼主可以创建一个。由于没用到,所以不会有什么影响。看下

谢谢~~~~~~~~~~~
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

关闭

推荐上一条 /2 下一条