【发布时间】:2018-05-14 08:54:04
【问题描述】:
我在使用 Apache Nifi 转换 cassandra 中的常规时间戳时遇到了一些问题。
我的用例如下:
我有一个 csv 文件,其中的日期看起来像这样 ('2015010109'),我想通过转换此字符串 ('2015010109 ') 到正确的格式:2015-01-01 09:00 -> yyyy/MM/dd HH:mm (我并不完全需要分钟,但我猜对以后使用更有用)
到目前为止,当我尝试将此字符串转换为时间戳时,我在 UpdateAttribute 处理器中获得了此属性:
日期:${csvfiledate:toDate("yyyyMMddHH","GMT"):format("yyyy-MM-dd-HH")}
但是我的 PutCassandraQL 处理器出现错误:无法将“2015-01-01-09”强制转换为格式化日期(长)。
我尝试了一些东西
date : ${csvfiledate:toDate("yyyyMMddHH","GMT"):format("yyyy-MM-dd HH-mmZ")} 也一样,但同样的错误正在发生。
您似乎需要为 cassandra 指定特定的时间戳类型,如下所示: http://docs.datastax.com/en/archived/cql/3.0/cql/cql_reference/timestamp_type_r.html 但是目前还不行,也许你得到了一些提示。
提前致谢。
【问题讨论】:
-
检查this。我看到你的格式是
HH-mm,它必须是HH:mm。也试试这个:${csvfiledate:toDate("yyyyMMddHH","GMT"):format("yyyy-MM-dd HH:mm")}Z
标签: date cassandra formatting timestamp apache-nifi