无法识别谓词“ Column <b” Pyspark |三角洲湖

问题描述

在尝试重新分区具有日期(yyyy-MM-dd)和时间(hhmm)的三角洲湖泊表时。 我收到错误消息:

File "/usr/local/lib/python3.7/site-packages/pyspark/sql/readwriter.py",line 739,in save
    self._jwrite.save(path)
File "/usr/local/lib/python3.7/site-packages/py4j/java_gateway.py",line 1257,in __call__
    answer,self.gateway_client,self.target_id,self.name)
File "/usr/local/lib/python3.7/site-packages/pyspark/sql/utils.py",line 69,in deco
    raise AnalysisException(s.split(': ',1)[1],stackTrace)
    pyspark.sql.utils.AnalysisException: "Cannot recognize the predicate 'Column<b'((partitionTime = 1357) AND (partitionDate = 2020-10-27))'>';"

我能够分别查询两个分区,但是当我一次执行两个分区时,我都遇到了错误

spark \
 .read.format("delta") \
 .load(table_path) \
 .where(((sf.col("partitionTime") == "1357") & (sf.col("partitionDate") == "2020-10-27"))) \
 .repartition(n_partitions) \
 .write \
 .option("dataChange","false") \
 .format("delta") \
 .mode("overwrite") \
 .option("replaceWhere",((sf.col("partitionTime") == "1357") & (sf.col("partitionDate") == "2020-10-27") )) \
                .save(table_path)

想知道什么可能导致此问题! 我确实遵循了delta.io

中的文档

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)