为什么我不能在 Spark SQL 的分区括号中使用大于 '>='
Why can i not use greater than '>=' in Partition Parentheses in Spark SQL
可以在 Cloudera Hive 中使用 >= 运算符 sql,迁移到 Databricks 后我无法在分区括号中使用此运算符
ALTER TABLE tmprry.tmp_table DROP IF EXISTS PARTITION (log_date >= $LOG_DATE_EXECUTE_TWO_DAYS_AGO AND log_date <= $LOGDATE ) PURGE;
在笔记本上出现错误:
com.databricks.backend.common.rpc.DatabricksExceptions$SQLExecutionException:
org.apache.spark.sql.catalyst.parser.ParseException: mismatched input
'>=' expecting {')', ','}(line 2, pos 20)
== SQL == ALTER TABLE tmprry.tmp_table DROP IF EXISTS PARTITION
(log_date >= 20220130 ) PURGE
---------------------------------------------------------------------------------------------------------^^^
这应该是因为分区列是一个字符串,而我们正在使用比较运算符。
你可以找到答案here
可以在 Cloudera Hive 中使用 >= 运算符 sql,迁移到 Databricks 后我无法在分区括号中使用此运算符
ALTER TABLE tmprry.tmp_table DROP IF EXISTS PARTITION (log_date >= $LOG_DATE_EXECUTE_TWO_DAYS_AGO AND log_date <= $LOGDATE ) PURGE;
在笔记本上出现错误:
com.databricks.backend.common.rpc.DatabricksExceptions$SQLExecutionException: org.apache.spark.sql.catalyst.parser.ParseException: mismatched input '>=' expecting {')', ','}(line 2, pos 20)
== SQL == ALTER TABLE tmprry.tmp_table DROP IF EXISTS PARTITION (log_date >= 20220130 ) PURGE ---------------------------------------------------------------------------------------------------------^^^
这应该是因为分区列是一个字符串,而我们正在使用比较运算符。
你可以找到答案here