基于Json属性在单个流文件中对json数组进行排序:Apache Nifi

15R*_*5R6 0 apache-nifi

我一直在尝试使用nifi,并想知道如何通过属性对json数组进行排序.我有这样的Json

[{"name":"Backham","createdDate":"2018-05-07 06:30:09"},{"name":"鲁尼","createdDate":"2016-05-12 19:50 :03"},{"name":"Ronaldo","createdDate":"2019-01-07 06:30:09"}]

我必须按createdDate asc/desc排序.

我知道我可以编写一个自定义处理器来对数据进行排序并将其发回.还有其他更好的方法吗?任何人都可以告诉我如何做到这一点?

Shu*_*Shu 7

您可以在NiFi中使用查询记录处理器.配置并启用Record Reader/Writer控制器服务(JsonPath Reader/JsonSetWriter).

在Query Record处理器中添加新属性as

OrderbyCreatedDate

SELECT * from FLOWFILE Order By createdDate DESC
Run Code Online (Sandbox Code Playgroud)

现在,queryrecord处理器将在flowfile内容上执行上面的SQL staetment,并根据createddate字段给出带有排序顺序的输出流文件.

使用QueryRecord处理器中的OrderbyCreatedDate关系进行进一步处理.

有关配置/使用Queryrecord处理器的更多详细信息,请参阅 链接.