【问题标题】:Column of day of the week using a datetime column in SparklyR在 SparklyR 中使用日期时间列的星期几列
【发布时间】:2020-12-09 12:03:17
【问题描述】:

我正在对一个大型数据集进行一些分析,因此我使用 sparkly R 来保存数据。我的 spark 数据框中的一列是 datetime 列,例如 2015-05-01 13:40:47

我希望在我的 spark 数据框中添加一个新列,其中包含该日期对应的星期几。我已经尝试了很多东西,但都没有运气,因为我对 SparkR 完全陌生。

任何帮助将不胜感激。

谢谢

【问题讨论】:

    标签: r dplyr sparklyr


    【解决方案1】:

    这就是你在 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", F.date_format(F.col("date_timestamp"), "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       |
        +---+-----------------------+---------------+-------------+
        */
    

    【讨论】:

      猜你喜欢
      • 2020-12-14
      • 1970-01-01
      • 2021-08-07
      • 1970-01-01
      • 2020-01-02
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2016-06-25
      相关资源
      最近更新 更多