在nifi中,我需要将一堆json文件传输到HDFS。json文件有一个名为"creationDate“的字段,该字段的日期采用UNIX格式。我需要使用其中的日期将文件导入以日期命名的HDFS目录,如"2019-01-19“"2019-01-20”"2019-01-21“等。
起初,我使用的是"PutHDFS“处理器的"EvaluateJsonPath”处理器。“评估...”处理器的属性为"creationDate“,值为"${creationDate}”。在PutHDFS处理器中,我为目录设置了"/${creationDate}“。
但是后来我意识到json文件中的日期有完整的时间戳,比如"2019-01-19T04:34:28.527722+00:00
显然,我不需要所有这些,只需要前八位数字。那么,如何将这个大字符串转换为整洁的8位目录名称呢?我需要使用正则表达式吗?如果需要,如何实现?提前感谢您的帮助。
发布于 2019-01-30 14:46:57
您可以使用UpdateAttribute并使用日期表达式语言函数对其进行格式化。
https://nifi.apache.org/docs/nifi-docs/html/expression-language-guide.html
示例(不特定于您的格式):
${creationDate:toDate('MM-dd-yyyy'):format('yyyy/MM/dd')}
在UpdateAttribute中,您需要添加一个新的属性名称creationDate,并将值设置为类似上面的表达式。
https://stackoverflow.com/questions/54443101
复制相似问题