Pysparkの日付関数はじめに
最近の業務ではPySparkを書くことが多くあります。
日付関数を書く際に毎回迷うのでよく使うものをまとめてみたいと思います。
Pyspark日付関数
current_date()
- 現在の日付を返します。これはクエリが実行された日付を表します。
current_timestamp()
- 現在のタイムスタンプを返します。これはクエリが実行された時点の日時を表します。
date_add(col, days)
- 指定された列(またはリテラル値)に、指定された日数を加算します。
date_sub(col, days)
- 指定された列(またはリテラル値)から、指定された日数を減算します。
datediff(endDate, startDate)
- 2つの日付の間の日数を計算します。
months_between(endDate, startDate, roundOff=True)
- 2つの日付の間の月数を計算します。
roundOff
をTrueに設定すると、整数で結果を返します。
- 2つの日付の間の月数を計算します。
trunc(date, format)
- 指定された日付を指定された形式に切り捨てます。例えば、
trunc('2023-05-13', 'month')
は’2023-05-01’を返します。
- 指定された日付を指定された形式に切り捨てます。例えば、
year(col)
- 指定された列(またはリテラル値)の年を返します。
quarter(col)
- 指定された列(またはリテラル値)の四半期を返します。
month(col)
- 指定された列(またはリテラル値)の月を返します。
dayofweek(col)
- 指定された列(またはリテラル値)の曜日を1(日曜日)から7(土曜日)の数値で返します。
dayofmonth(col)
- 指定された列(またはリテラル値)の月内の日付を返します。
dayofyear(col)
- 指定された列(またはリテラル値)の年内の日数を返します。
hour(col)
- 指定された列(またはリテラル値)の時を返します。
minute(col)
- 指定された列(またはリテラル値)の分を返します。
second(col)
- 指定された列(またはリテラル値)の秒を返します。
date_format(date, format)
- 指定された形式で日付をフォーマットします。例えば、
date_format('2023-05-13', 'yyyy/MM/dd')
は’2023/05/13’を返します。
- 指定された形式で日付をフォーマットします。例えば、
Pyspark日付関数まとめ
以上がpysparkの主な関数となります。
current_date, date_add あたりはよく使用するのではないかと思います。
環境によっては書き方が少し異なったりもするので、
環境の仕様をご確認頂ければと思います!
また、受講生に1人ずつ現役のプロのパーソナルメンターがつく
TechAcademy [テックアカデミー] のご活用をぜひご検討ください!
Python関連記事
そのほか、Pythonに関連することをこちらにまとめてみております。
>Coffee Tech Blog カテゴリー:Python
>Pandas関数まとめ
参考になれば幸いです☕
コメント