问题描述
在尝试重新分区具有日期(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 (将#修改为@)