使用 pyspark 指定日期数据类型的字符串

specifying a string to date datatype using pyspark

我想过滤按日期分区的镶木地板。 当我应用过滤器时

.filter(col('DATE')>= '2020-08-01')

它在进行过滤时将值 2020-08-01 转换为字符串,如物理计划所示。我读到这效率不高,会导致整个文件扫描。

PartitionFilters: [isnotnull(DATE#5535), (cast(DATE#5535 as string) >= 2020-08-01)]

如何在过滤器子句中将 string 转换为 date?互联网上的所有示例都提到使用 to_date 但这仅适用于列。 这是可能的,还是值得的? 请指教。 谢谢

试试这个 -

import pyspark.sql.functions as F
.filter(F.expr(" `Date` >= to_date('2020-08-01','yyyy-MM-dd' )"))