gpt4 book ai didi

java - 如何使用 Java 将 unix 纪元的列转换为 Apache spark DataFrame 中的日期?

转载 作者:搜寻专家 更新时间:2023-10-31 19:32:26 25 4
gpt4 key购买 nike

我有一个 json 数据文件,其中包含一个属性 [creationDate],它是“长”数字类型的 unix epoc。 Apache Spark DataFrame 架构如下所示:

root  |-- creationDate: long (nullable = true)  |-- id: long (nullable = true)  |-- postTypeId: long (nullable = true) |-- tags: array (nullable = true) |    |-- element: string (containsNull = true) |-- title: string (nullable = true) |-- viewCount: long (nullable = true)

我想做一些需要从“creationDate”获取的 groupBy“creationData_Year”。

使用 Java 在 DataFrame 中进行这种转换的最简单方法是什么?

最佳答案

在检查了 spark dataframe api 和 sql 函数之后,我得出以下代码片段:

DateFrame df = sqlContext.read().json("MY_JSON_DATA_FILE");DataFrame df_DateConverted = df.withColumn("creationDt", from_unixtime(stackoverflow_Tags.col("creationDate").divide(1000)));

“creationDate”列除以“1000”的原因是TimeUnit不同。源“creationDate”是“毫秒”中的 unix 纪元,但是 spark sql“from_unixtime”旨在处理“中的 unix 纪元>”。

关于java - 如何使用 Java 将 unix 纪元的列转换为 Apache spark DataFrame 中的日期?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34626371/

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