问题描述
我是Spark和Scala的新手,我想将一列字符串日期转换为Unix时期。我的数据框如下所示:
+----------+-------+
| Dates |Reports|
+----------+-------+
|2020-07-20| 34|
|2020-07-21| 86|
|2020-07-22| 129|
|2020-07-23| 98|
+--------+---------+
The output should be
+----------+-------+
| Dates |Reports|
+----------+-------+
|1595203200| 34|
|1595289600| 86|
|1595376000| 129|
|1595462400| 98|
+--------+---------+
``
解决方法
使用unix_timestamp
。
val df = Seq(("2020-07-20")).toDF("date")
df.show
df.withColumn("unix_time",unix_timestamp('date,"yyyy-MM-dd")).show
+----------+
| date|
+----------+
|2020-07-20|
+----------+
+----------+----------+
| date| unix_time|
+----------+----------+
|2020-07-20|1595203200|
+----------+----------+