我有一個包含以下欄位的資料框

我正在嘗試使用 PySpark 過濾 SaleDate,其中 SaleDate 是當前日期。
我的嘗試如下
from pyspark.sql.functions import col
df.where((col("SaleDate") = to_date())
這是假設今天的日期是 16/10/2021
我不斷收到錯誤:
SyntaxError: keyword can't be an expression (<stdin>, line 2)
我應該提到 SaleDate 實際上是一個 StringType() 而不是 DateType,如圖所示。
|-- SaleDate: 字串 (nullable = true)
uj5u.com熱心網友回復:
您應該使用current_datefunction來獲取當前日期而不是to_date.
因此,您首先需要將SaleDate列中的值從字串轉換為日期to_date,然后將獲得的日期與current_date:
from pyspark.sql import functions as F
df.where(F.to_date('SaleDate', 'yyyy/MM/dd HH:mm:ss.SSS') == F.current_date())
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/322624.html
上一篇:Pyspark如何分別獲取堆疊在不同列中的列的json鍵和值
下一篇:SparkSession/SparkContext/RDD上是否有任何穩定的方法可以呼叫以輕松檢測何時發生驅逐?
