Sri*_*vas 3 apache-spark apache-spark-sql
我的代码在 emr 中不起作用
finalDF.createOrReplaceGlobalTempView("temp_visits")
spark.sql(s"insert overwrite table test PARTITION (date) SELECT * from temp_visits")
Run Code Online (Sandbox Code Playgroud)
我收到以下异常
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)
Run Code Online (Sandbox Code Playgroud)
是否需要添加任何设置才能识别此临时表?
小智 7
需要在引用的全局视图中添加数据库名称。
默认 spark 设置具有数据库名称 - global_temp
finalDF.createOrReplaceGlobalTempView("temp_visits")
spark.sql(s"insert overwrite table test PARTITION (date) SELECT * from global_temp.temp_visits")
Run Code Online (Sandbox Code Playgroud)
您可以通过在 sparkSession 初始化期间提供配置来更改此名称 -
spark.sql.globalTempDatabase
归档时间: |
|
查看次数: |
1148 次 |
最近记录: |