トップ / 式評価・文字列・型変換
現在の日付・日時を取得する。
df.with_column("today", current_date())
import datetime
df.with_columns(pl.lit(datetime.date.today()).alias("today"))
「いつ評価されるか」という設計思想そのものが違う。Snowparkのcurrent_date()はSQLのCURRENT_DATEに変換され、クエリがSnowflakeサーバー上で実行された瞬間の日付になる(DataFrameを組み立てた時点ではなく、collect()等でアクションが起きた時点)。Polarsには「サーバー側で評価される現在時刻」という概念自体が無く、Python側でdatetime.date.today()を呼んだその瞬間の値をリテラルとして埋め込む。
長時間実行されるパイプラインで結果が変わりうる。Snowpark側はcollect()のタイミングまで評価が遅延されるため、DataFrameを組み立ててから実際にアクションを呼ぶまでに日付が変わると(深夜バッチ等)、当初想定した日付と異なる値になることがある。Polars側はコードを実行したPython側の時刻でその場で確定するため、後続の重い処理に時間がかかっても日付は変わらない。
Polars 1.36.1 で実行確認 / Snowpark Python SDK 1.51.1 で静的検証(2026-08-30)