【发布时间】:2019-11-25 14:53:01
【问题描述】:
我的时间戳看起来像这样:2019-06-13 13:22:30.521000000
我正在使用 Spark/Scala 脚本将它们插入到 Oracle 表中。 Oracle 中的列是 Timestamp(6),应该保持这样。
这就是我的工作:
我在 Spark 中拥有的是一个 df,其中包含一个带有我的时间戳的列:
+-----------------------------+
| time |
+-----------------------------+
|2019-06-13 13:22:30.521000000|
+-----------------------------+
我执行以下操作:
df.withColumn("time", (unix_timestamp(substring(col("time"), 1, 23), "yyyy-MM-dd HH:mm:ss.SSS") + substring(col("time"), -6, 6).cast("float") / 1000000).cast(TimestampType))
我使用与 Oracle 的连接插入(插入脚本已经过测试并且工作正常)。 但在 Oracle 中,我只在表中看到以下内容:
+--------------------------+
| time |
+--------------------------+
|2019-06-13 13:22:30.000000|
+--------------------------+
不包括毫秒。请问有什么帮助吗?谢谢!
【问题讨论】:
标签: oracle scala apache-spark timestamp