2

PySpark の「to_date」関数に奇妙なバグを発見しました

from pyspark.sql.functions import to_date, col
from datetime import date

df = spark.createDataFrame([(date(2020,12,26),)], ['t'])
df1 = df.select(to_date(df.t, 'yyyy-MM-dd').alias('dt')).withColumn('fn1',cfg.date_format(col('dt'),'YYYYMMdd'))
df1.show()

これにより、以下の出力が得られます。

ここに画像の説明を入力

しかし、1日後の日付に同じコードを使用すると、

from pyspark.sql.functions import to_date, col
from datetime import date

df = spark.createDataFrame([(date(2020,12,27),)], ['t'])
df1 = df.select(to_date(df.t, 'yyyy-MM-dd').alias('dt')).withColumn('fn1',cfg.date_format(col('dt'),'YYYYMMdd'))
df1.show()

あなたは得るでしょう:

ここに画像の説明を入力

2020 年 12 月 27 日以降の日付についても同様ですが、2020 年 12 月 25 日より前の日付については当てはまりません。

4

1 に答える 1