gpt4 book ai didi

apache-spark - 无法访问由 createOrReplaceGlobalTempView 创建的临时表

转载 作者:行者123 更新时间:2023-12-04 00:30:51 28 4
gpt4 key购买 nike

我的代码在 emr 中不起作用

finalDF.createOrReplaceGlobalTempView("temp_visits")
spark.sql(s"insert overwrite table test PARTITION (date) SELECT * from temp_visits")

我收到以下异常
Exception in thread "main" org.apache.spark.sql.AnalysisException: Table or view not found: temp_visits; line 1 pos 100
at org.apache.spark.sql.catalyst.analysis.package$AnalysisErrorAt.failAnalysis(package.scala:42)
at org.apache.spark.sql.catalyst.analysis.Analyzer$ResolveRelations$.org$apache$spark$sql$catalyst$analysis$Analyzer$ResolveRelations$$lookupTableFromCatalog(Analyzer.scala:663)

是否需要添加任何设置才能识别此临时表?

最佳答案

需要在引用的全局 View 中添加数据库名称。
默认 spark 设置具有数据库名称 - global_temp

finalDF.createOrReplaceGlobalTempView("temp_visits")
spark.sql(s"insert overwrite table test PARTITION (date) SELECT * from global_temp.temp_visits")

您可以通过在 sparkSession 初始化期间提供配置来更改此名称 -

spark.sql.globalTempDatabase

关于apache-spark - 无法访问由 createOrReplaceGlobalTempView 创建的临时表,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51421299/

28 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com