我有一个带bigint列的数据框。如何将Bigint列转换为Scala Spark中的时间戳
答案 0 :(得分:1)
您可以在spark中使用 from_unixtime/to_timestamp
函数将Bigint
列转换为timestamp
。
示例:
spark.sql("select timestamp(from_unixtime(1563853753,'yyyy-MM-dd HH:mm:ss')) as ts").show(false)
+-------------------+
|ts |
+-------------------+
|2019-07-22 22:49:13|
+-------------------+
(或)
spark.sql("select to_timestamp(1563853753) as ts").show(false)
+-------------------+
|ts |
+-------------------+
|2019-07-22 22:49:13|
+-------------------+
架构:
spark.sql("select to_timestamp(1563853753) as ts").printSchema
root
|-- ts: timestamp (nullable = false)
请参阅this链接,以获取有关在Spark中转换不同格式的时间戳的更多详细信息。