【问题标题】:Spark SQL - org.apache.spark.sql.AnalysisExceptionSpark 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)```

【问题讨论】:

    标签: apache-spark apache-spark-sql databricks azure-databricks


    【解决方案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 功能
    • 是的,那么你是对的。但觉得缺少一些东西可能是安装或其他东西。可以发一下代码吗?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2018-09-20
    • 2021-05-08
    • 1970-01-01
    • 2021-11-06
    • 2021-03-18
    • 2018-12-28
    • 1970-01-01
    相关资源
    最近更新 更多