使用 Pyspark 将日期拆分为星期、月份、年份

时间:2021-06-18 13:00:36

标签: date pyspark split

我在 Pyspark 方面的经验很少,我尝试从包含每行时间戳的列中创建 3 个新列,但没有成功。

包含日期的列具有以下格式:EEE MMM dd HH:mm:ss Z yyyy。 所以它看起来像这样:

+--------------------+
|           timestamp|
+--------------------+
|Fri Oct 18 17:07:...|
|Mon Oct 21 21:49:...|
|Thu Oct 31 18:03:...|
|Sun Oct 20 15:00:...|
|Mon Sep 30 23:35:...|
+--------------------+

这 3 列必须包含:作为整数的星期几(因此 0 代表星期一,1 代表星期二……)、月份和年份。 创建这些额外的 3 列并将它们附加到 pyspark 数据帧的最有效方法是什么?提前致谢!!

1 个答案:

答案 0 :(得分:1)

Spark 1.5 及更高版本具有许多日期处理功能。这里有一些可能对你有用

from pyspark.sql.functions import *
from pyspark.sql.functions import year, month, dayofweek
df = df.withColumn('dayOfWeek', dayofweek(col('your_date_column')))
df = df.withColumn('month', month(col('your_date_column')))
df = df.withColumn('year', year(col('your_date_column')))