我有一个json数据文件,其中包含一个属性[creationDate],它是unix epoc的“long”数字类型。Apache Spark DataFrame schema如下所示:
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)
我想做一些groupBy“creationData_Year”,需要从“creationDate”获取。
使用Java在 DataFrame 中进行这种转换的最简单方法是什么?
3条答案
按热度按时间lndjwyie1#
在检查了spark dataframe API和sql函数后,我得出了下面的片段:
“creationDate”列除以“1000”的原因是TimeUnit不同。orgin“creationDate”是以“milli-second"为单位的unix epoch,然而spark sql“from_unixtime”被设计为以“second"为单位处理unix epoch。
ftf50wuq2#
pyspark将Unix epoch毫秒转换为dataframe时间戳
snz8szmq3#
在Spark Scala中