gpt4 book ai didi

scala - Spark数据帧将整数转换为时间戳并找到日期差异

转载 作者:行者123 更新时间:2023-12-04 00:05:06 28 4
gpt4 key购买 nike

我有 此数据帧 org.apache.spark.sql.DataFrame :

|-- timestamp: integer (nullable = true)
|-- checkIn: string (nullable = true)

| timestamp| checkIn|
+----------+----------+
|1521710892|2018-05-19|
|1521710892|2018-05-19|

预期结果:获取日期之间有天差的新列 checkIntimestamp (2018-03-03 23:59:59 和 2018-03-04 00:00:01 应该相差 1)

因此,我需要
  • 将时间戳转换为日期(这是我卡住的地方)
  • 从另一个日期中取出一个日期
  • 使用某个函数提取日期(还没有找到这个函数)
  • 最佳答案

    您可以使用 from_unixtime将您的时间戳转换为日期和 datediff计算天数差异:

    val df = Seq(
    (1521710892, "2018-05-19"),
    (1521730800, "2018-01-01")
    ).toDF("timestamp", "checkIn")

    df.withColumn("tsDate", from_unixtime($"timestamp")).
    withColumn("daysDiff", datediff($"tsDate", $"checkIn")).
    show

    // +----------+----------+-------------------+--------+
    // | timestamp| checkIn| tsDate|daysDiff|
    // +----------+----------+-------------------+--------+
    // |1521710892|2018-05-19|2018-03-22 02:28:12| -58|
    // |1521730800|2018-01-01|2018-03-22 08:00:00| 80|
    // +----------+----------+-------------------+--------+

    关于scala - Spark数据帧将整数转换为时间戳并找到日期差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/49436975/

    28 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com