我在使用 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 但它到目前为止还没有工作,也许你有一些想法。
提前致谢。
答案 0 :(得分:0)
您已经倒退了。
toDate
参数用于描述如何解析日期。 format
函数用于描述日期输出的方式。因此表达式应为:
${csvfiledate:toDate('yyyy-MM-dd-HH','GMT'):format('yyyyMMddHH')}