Spark SQL - org.apache.spark.sql.AnalysisException
Posted
技术标签:
【中文标题】Spark SQL - org.apache.spark.sql.AnalysisException【英文标题】: 【发布时间】:2020-03-25 18:53:26 【问题描述】:当我第二次在 Databricks 上运行 Spark 作业时出现下面描述的错误(第一次不太频繁)。
sql 查询只是从 DataFrame 执行 create table as select from
注册的临时视图。
第一个想法是在工作结束时spark.catalog.clearCache()
(没有帮助)。
我还在 databricks 论坛上发现了一些关于使用 object ... extends App
(Scala) 而不是 main 方法的帖子(再次没有帮助)
附: current_date()
是内置函数,应该自动提供(预期)
Spark 2.4.4、Scala 2.11、Databricks 运行时 6.2
org.apache.spark.sql.AnalysisException: Undefined function: 'current_date'. This function is neither a registered temporary function nor a permanent function registered in the database 'default'.; line 21 pos 4
at org.apache.spark.sql.catalyst.analysis.Analyzer$LookupFunctions$$anonfun$apply$15$$anonfun$applyOrElse$50.apply(Analyzer.scala:1318)
at org.apache.spark.sql.catalyst.analysis.Analyzer$LookupFunctions$$anonfun$apply$15$$anonfun$applyOrElse$50.apply(Analyzer.scala:1318)
at org.apache.spark.sql.catalyst.analysis.package$.withPosition(package.scala:53)
at org.apache.spark.sql.catalyst.analysis.Analyzer$LookupFunctions$$anonfun$apply$15.applyOrElse(Analyzer.scala:1317)
at org.apache.spark.sql.catalyst.analysis.Analyzer$LookupFunctions$$anonfun$apply$15.applyOrElse(Analyzer.scala:1309)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$2.apply(TreeNode.scala:279)
at org.apache.spark.sql.catalyst.trees.TreeNode$$anonfun$2.apply(TreeNode.scala:279)
at org.apache.spark.sql.catalyst.trees.CurrentOrigin$.withOrigin(TreeNode.scala:76)```
【问题讨论】:
【参考方案1】:current_date() 是内置函数,应该提供 自动(预期)
这种预期是错误的。你必须导入函数
对于斯卡拉
import org.apache.spark.sql.functions._
current_date 函数在哪里可用。
from pyspark.sql import functions as F
对于 pyspark
【讨论】:
我不需要在spark.sql()中导入这个函数 什么意思?编辑器自动导入功能?错误明确指出需要导入 我使用 spark.sql("SQL QUERY") (不是 Dataframe API),它包含 spark 内置函数。它预计火花(无代码编辑器)将导入 ITS 功能 是的,那么你是对的。但觉得缺少一些东西可能是安装或其他东西。可以发一下代码吗?以上是关于Spark SQL - org.apache.spark.sql.AnalysisException的主要内容,如果未能解决你的问题,请参考以下文章
spark-sql 与 spark-shell REPL 中的 Spark SQL 性能差异
1.Spark SQL基础—Spark SQL概述Spark SQL核心编程—DataFrameDataSet
学习笔记Spark—— Spark SQL应用—— Spark SQL简介环境配置