apache-spark - Spark SQL - org.apache.spark.sql.AnalysisException
问题描述
当我第二次在 Databricks 上运行 Spark 作业(第一次不太频繁)时,会发生下面描述的错误。sql 查询只是 create table as select from
从 DataFrame 执行注册的临时视图。
第一个想法是spark.catalog.clearCache()
在工作结束时(没有帮助)。我还在databricks论坛上发现了一些关于使用object ... extends App
(Scala)而不是主要方法的帖子(再次没有帮助)
PScurrent_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)```
解决方案
current_date() 是内置函数,应该自动提供(预期)
这种期望是错误的。你必须导入函数
对于斯卡拉
import org.apache.spark.sql.functions._
current_date 函数可用的地方。
from pyspark.sql import functions as F
用于 pyspark
推荐阅读
- python - Python POST multipart/form-data 请求 Postman 的不同行为
- google-tag-manager - Google 跟踪代码管理器会话结束
- python - 在 MySQL 数据库表列中插入带有 PyQt5 的图像文件
- c++ - 表达式:字符串下标超出控制台缓冲区范围
- r - 如何在 Shiny R 中垂直对齐多个单选按钮列?
- sql - BigQuery - 选择序列中的最后一个非空值
- c++ - 用两个不同的模板参数定义一个函数
- react-native - 如何在 React Native 中使用 Sentry 自定义 index.js 的位置?
- kubernetes - 使用其他规则检查 k8s 命名空间中的注释的 OPA Rego 规则
- python - 不能按条件替换值?