我正在创建端到端流,以通过对通过Tealium事件流接收的Json文件使用Consume Kafka来将数据消耗到HDFS中。当前,我使用了Consume Kafka->评估Json路径-> Jolttransform Json->合并内容->评估Json路径->更新属性-> PutHDFS
[要求是将整天假脱机的Json数据读取到一个引用属性postdate(之前为YYYYMMDDSS时间戳的隐含时期)的单个文件中,并每天读取数据以合并为单个文件,最后根据与POST_DATE字段用于区分每日文件。除了根据源属性时间戳字段重命名合并文件的时间戳之外,我已经完成了所有部分。您能帮我如何根据_year_month_day属性重命名文件吗?
如果要从POST_DATE
属性中分析“年”和“月”,则可以使用format
和toDate
功能。
例如:
-- year
format(toDate(${POST_DATE}, "YYYYMMDDSS"),"yyyy")
-- month
format(toDate(${POST_DATE}, "YYYYMMDDSS"),"MM")
--day
format(toDate(${POST_DATE}, "YYYYMMDDSS"),"dd")
我不确定重命名文件的含义,如果这意味着在放入HDFS之前更改文件名,则可以简单地使用UpdateAttribute
处理器,然后update属性包含输出文件名,例如${year}_${month}_${day}
。
@@ gogocatmario,感谢您的答复。在update_attribute上为filename属性添加以下值后,问题已解决。tealium_es _ $ {post_date:toDate(“ yyyy-MM-dd HH:mm:ss”):format(“ yyyy_MM_dd”)}。json1