Nicholas Hughes created NIFI-4398:
-------------------------------------

             Summary: FlattenRecord Processor
                 Key: NIFI-4398
                 URL: https://issues.apache.org/jira/browse/NIFI-4398
             Project: Apache NiFi
          Issue Type: New Feature
            Reporter: Nicholas Hughes


Requesting a "FlattenRecord" processor, which performs much like the "Field 
Flattener" processor included in StreamSets Data Collector [2]

This should be able to act on all supported record types, and would take nested 
data and bring it out to the top level of the record by adding a prefix to the 
property name (or potentially other strategies).

The easiest way to demonstrate the desired effect is with the following JSON 
example. For input data like that shown below from Yahoo [1]

 {
   "query": {
     "count": 1,
     "created": "2017-09-15T11:20:26Z",
     "lang": "en-US",
     "results": {
       "channel": {
         "item": {
           "condition": { 
             "code": "33",
             "date": "Fri, 15 Sep 2017 06:00 AM EDT",
             "temp": "63",
             "text": "Mostly Clear"
           }
         }
       }
     }
   }
 }

...we'd end up with output something like this:

 {
   "query.count": 1,
   "query.created": "2017-09-15T11:20:26Z",
   "query.lang": "en-US",
   "query.results.channel.item.condition.code": "33",
   "query.results.channel.item.condition.date": "Fri, 15 Sep 2017 06:00 AM EDT",
   "query.results.channel.item.condition.temp": "63",
   "query.results.channel.item.condition.text": "Mostly Clear"
 }


[1] 
https://query.yahooapis.com/v1/public/yql?q=select%20item.condition%20from%20weather.forecast%20where%20woeid%20%3D%202383558&format=json&env=store%3A%2F%2Fdatatables.org%2Falltableswithkeys

[2] 
https://github.com/streamsets/datacollector/tree/master/basic-lib/src/main/java/com/streamsets/pipeline/stage/processor/fieldflattener



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Reply via email to