Spark数据框:将bigint转换为时间戳

时间:2019-07-23 03:16:56

标签: apache-spark

我有一个带bigint列的数据框。如何将Bigint列转换为Scala Spark中的时间戳

1 个答案:

答案 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中转换不同格式的时间戳的更多详细信息。