基于spark/java的UnixTime
我有以下数据帧:基于spark/java的UnixTime,java,apache-spark,Java,Apache Spark,我有以下数据帧: +------------------------+ | Tracking_Time | +------------------------+ |2020-02-18 14:50:07 | |2020-02-17 17:15:45 | +------------------------+ 我使用以下代码: df.withColumn("current_date", expr("reflect('java.lang
+------------------------+
| Tracking_Time |
+------------------------+
|2020-02-18 14:50:07 |
|2020-02-17 17:15:45 |
+------------------------+
我使用以下代码:
df.withColumn("current_date", expr("reflect('java.lang.System', 'currentTimeMillis')"))
.withColumn("Tracking_Time_ms", unix_timestamp(col("Tracking_Time")));
我得到以下输出
+------------------------+------------------------+------------------------+
| Tracking_Time |current_date |Tracking_Time_ms |
+------------------------+------------------------+------------------------+
|2020-02-18 14:50:07 |1598108268389 |1582037407 |
|2020-02-17 17:15:45 |1598108270182 |1581959745 |
+------------------------+------------------------+------------------------+
如何将
跟踪时间\u ms
的格式转换为当前日期的格式?unix时间戳的运行总时间为秒。此计数从1970年1月1日UTC的Unix纪元开始
因此,您在“跟踪时间”下看到的值实际上是以秒为单位的
要将其转换为ms(与当前_日期相同),需要将其乘以1000