Cassandra / Apache Nifi:无法强迫' yyyy-MM-dd HH'到格式化的日期(长)

时间:2017-11-30 12:14:33

标签: date cassandra formatting timestamp apache-nifi

我在使用 Apache Nifi 转换 cassandra 中的常规时间戳方面存在一些问题。

我的用例如下:

我有一个csv文件,其中的日期看起来像这样(' 2015010109 ')我希望通过转换此字符串将其放入cassandra(&#39 ; 2015010109 ')格式正确: 2015-01-01 09:00 - > yyyy / MM / dd HH:mm (我不需要分钟,但我想这对以后的使用更有用)

到目前为止,在尝试将此字符串转换为时间戳时,我在UpdateAttribute处理器中获得了此属性:

日期:$ {csvfiledate:toDate(" yyyyMMddHH"," GMT"):格式(" yyyy-MM-dd-HH") }

但是我的PutCassandraQL处理器出现了错误:无法强制执行' 2015-01-01-09'到格式化的日期(长)。

我尝试了一些事情

日期:$ {csvfiledate:toDate(" yyyyMMddHH"," GMT"):格式(" yyyy-MM-dd HH-mmZ" )} 以及,但同样的错误发生了。

您可以在此处看到,您需要为cassandra设置特定的时间戳类型: http://docs.datastax.com/en/archived/cql/3.0/cql/cql_reference/timestamp_type_r.html 但它到目前为止还没有工作,也许你有一些想法。

提前致谢。

1 个答案:

答案 0 :(得分:0)

您已经倒退了。

toDate参数用于描述如何解析日期。 format函数用于描述日期输出的方式。因此表达式应为:

${csvfiledate:toDate('yyyy-MM-dd-HH','GMT'):format('yyyyMMddHH')}