问题描述
我正在对一个大型数据集进行一些分析,因此使用闪亮的R来保存数据。我的spark数据框中的一列是datetime列,例如2015-05-01 13:40:47
我希望在该日期对应的星期几的火花数据框中添加新列。我已经尝试了很多事情,但是没有运气,因为我是SparkR的新手。
任何帮助将不胜感激。
谢谢
解决方法
这就是在Pyspark中要做的事情。它与SparkR应该非常相似。
from pyspark.sql import functions as F
df = spark.createDataFrame(
[
(1,'2020-07-01 12:01:19.000'),(2,'2020-06-24 12:01:19.000'),(3,'2020-08-16 16:44:55.406')
],['id','date_timestamp']
)
df.show()
/*
+---+-----------------------+
|id |date_timestamp |
+---+-----------------------+
|1 |2020-07-01 12:01:19.000|
|2 |2020-06-24 12:01:19.000|
|3 |2020-08-16 16:44:55.406|
+---+-----------------------+
*/
df.withColumn("date_timestamp",F.col("date_timestamp").cast('timestamp')
).withColumn("week_day_number",F.date_format(F.col("date_timestamp"),"u")
).withColumn("week_day_full","EEEE")
).show()
/*
+---+-----------------------+---------------+-------------+
|id |date_timestamp |week_day_number|week_day_full|
+---+-----------------------+---------------+-------------+
|1 |2020-07-01 12:01:19 |3 |Wednesday |
|2 |2020-06-24 12:01:19 |3 |Wednesday |
|3 |2020-08-16 16:44:55.406|7 |Sunday |
+---+-----------------------+---------------+-------------+
*/