0
我有一个Spark应用程序,需要从字符串转换为时间戳,下面是我的代码。Spark数据帧将字符串转换为时间戳 - 为空值返回空值
val df = sc.parallelize(Seq("09/18/2017","")).toDF("sDate")
+----------+
| sDate|
+----------+
|09/18/2017|
| |
+----------+
val ts = unix_timestamp($"sDate","MM/dd/yyyy").cast("timestamp")
df.withColumn("ts", ts).show()
+----------+--------------------+
| sDate| ts|
+----------+--------------------+
|09/18/2017|2017-09-18 00:00:...|
| | null|
+----------+--------------------+
该转换效果不错,但如果该值为空,则在投射后变为空。
如果源值为空,是否有任何方法返回空值。