在 Snowflake/SQL 中,我們可以執行以下操作:
SELECT * FROM myTbl
WHERE date_col
BETWEEN
CONVERT_TIMEZONE('UTC','America/Los_Angeles', some_date_string_col)::DATE - INTERVAL '7 DAY'
AND
CONVERT_TIMEZONE('UTC','America/Los_Angeles', some_date_string_col)::DATE - INTERVAL '1 DAY'
是否有針對資料幀的 pyspark 翻譯?
我想如果這樣的事情
myDf.filter(
col(date_col) >= to_utc_timestamp(...)
)
但是,我們該怎么辦BETWEEN,也是interval?
uj5u.com熱心網友回復:
您可以INTERVAL像這樣在 SQL 運算式中使用:
df1 = df.filter(
F.col("date_col").between(
F.expr("current_timestamp - interval 7 days"),
F.expr("current_timestamp - interval 1 days"),
)
)
但是,如果您僅使用天數進行過濾,則可以簡單地使用date_add(或date_sub) 函式:
from pyspark.sql import functions as F
df1 = df.filter(
F.col("date_col").between(
F.date_add(F.current_date(), -7),
F.date_add(F.current_date(), -1)
)
)
轉載請註明出處,本文鏈接:https://www.uj5u.com/gongcheng/370299.html
