我想在使用 Dask 读取 Parquet 文件时对其进行过滤,但我无法正确处理并不断收到相同的错误。
TypeError: '>=' not supported between instances of 'Timestamp' and 'str'
我目前的做法是:
ddf = dd.read_parquet(path="s3://[BUCKET_NAME]/[FOLDER/PREFIX]/*",columns=['COL1','COL2','DATE_COL'],filters=[[('DATE_COL','>=','2020-05-01'),('DATE_COL','<','2020-06-01')]],engine="pyarrow-dataset")
'DATE_COL' 具有 dtype datetime64[ns]
和一些 NaT 值。其他列具有 dtype object
。
有人知道怎么做吗?也许我需要提供 dtype 参数,如果是这种情况,我该如何告诉 read_parquet()
方法“DATE_COL”是日期时间列?
更新
如果我尝试以下操作:
ddf = dd.read_parquet(path="s3://[BUCKET_NAME]/[FOLDER/PREFIX]/*",pd.Timestamp('2020-05-01')),pd.Timestamp('2020-06-01'))]],engine="pyarrow-dataset")
我收到此错误:
TypeError: Cannot compare tz-naive and tz-aware timestamps