gpt4 book ai didi

scala - 如何从字符串中获取日期和时间?

转载 作者:行者123 更新时间:2023-12-04 14:25:12 26 4
gpt4 key购买 nike

我有一个具有以下架构的数据框:

  root

|-- date : string (nullable = true)

该值看起来像 201605250000 .如何从此字符串中提取日期、小时和毫米?

最佳答案

解析字符串:

val unix = unix_timestamp($"date", "yyyyMMddHHmm").alias("unix")

转换为时间图:
val ts = unix.cast("timestamp").alias("ts")

转换到 date约会:
val dt = ts.cast("date").alias("dt")

使用 hour/ minute获取时间:
val h = hour(ts).alias("h")
val m = minute(ts).alias("m")

例子:
import org.apache.spark.sql.functions._

val df = Seq((1L, "201605250000")).toDF("id", "date")
df.select($"*", unix, ts, dt, h, m).show

// +---+------------+----------+--------------------+----------+---+---+
// | id| date| unix| ts| dt| h| m|
// +---+------------+----------+--------------------+----------+---+---+
// | 1|201605250000|1464127200|2016-05-25 00:00:...|2016-05-25| 0| 0|
// +---+------------+----------+--------------------+----------+---+---+

备注 : 对于 1.5 使用 unix.cast("double").cast("timestamp")

关于scala - 如何从字符串中获取日期和时间?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37448707/

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