为什么我不能在 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