<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>question Re: Extract field from flow files to comma separated batches in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/333705#M231488</link>
    <description>&lt;P&gt;I was looking at the scripting capabilities...&amp;nbsp; is something like the outline below possible (pseudocode, obviously)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;while (file = get new flow file from intput)  {
    data=...extract field ...
    append data to string
    if (extracted more than 50 things) {
        emit new flowfile with string as attribute
    }
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've seen plenty of examples of what I'd consider a "transform single flowfile into something else" but not where a script can fetch another flowfile from the session with a "flowfile = session.get();" but it's unclear if you can do that multiple times in the same script.&lt;/P&gt;</description>
    <pubDate>Wed, 12 Jan 2022 20:15:00 GMT</pubDate>
    <dc:creator>ELadner</dc:creator>
    <dc:date>2022-01-12T20:15:00Z</dc:date>
    <item>
      <title>Extract field from flow files to comma separated batches</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/333630#M231473</link>
      <description>&lt;P&gt;I have a flow that extracts an ID from a flow file, then does an ExectueSQL to fetch some additional data.&amp;nbsp; &amp;nbsp;Since this is one at a time, it's very inefficient (~300 records per minute - which doesn't sound bad until it's processing a million records).&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Is there a way to run flow files through a process and extract the required value in batches of 50 or 100 so that it returns a comma-separated value (like 123, 124, 125, 126, ... etc.) to pass to the ExecuteSQL so it's returning data in larger batches instead of one at a time?&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Currently, it's doing an EvaluateJsonPath, pulling that one value to a property so the ExecuteSQL processor can construct the SQL like "SELECT * FROM TABLE_NAME WHERE KEY = ${key}".&amp;nbsp; I'd like to modify that so it's "...WHERE KEY IN (${keyList})"&amp;nbsp; and keyList is the comma-separated list created above.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Not sure how to approach this, however.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Tue, 11 Jan 2022 16:50:55 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/333630#M231473</guid>
      <dc:creator>ELadner</dc:creator>
      <dc:date>2022-01-11T16:50:55Z</dc:date>
    </item>
    <item>
      <title>Re: Extract field from flow files to comma separated batches</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/333705#M231488</link>
      <description>&lt;P&gt;I was looking at the scripting capabilities...&amp;nbsp; is something like the outline below possible (pseudocode, obviously)&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;while (file = get new flow file from intput)  {
    data=...extract field ...
    append data to string
    if (extracted more than 50 things) {
        emit new flowfile with string as attribute
    }
}&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I've seen plenty of examples of what I'd consider a "transform single flowfile into something else" but not where a script can fetch another flowfile from the session with a "flowfile = session.get();" but it's unclear if you can do that multiple times in the same script.&lt;/P&gt;</description>
      <pubDate>Wed, 12 Jan 2022 20:15:00 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/333705#M231488</guid>
      <dc:creator>ELadner</dc:creator>
      <dc:date>2022-01-12T20:15:00Z</dc:date>
    </item>
    <item>
      <title>Re: Extract field from flow files to comma separated batches</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/333875#M231548</link>
      <description>&lt;P&gt;Here is a customized way to implement such algorithm without writing any Groovy/Java/Python/etc. script.&lt;BR /&gt;1. Manually design a iteration loop to prepare the paged/batched sql str.&lt;BR /&gt;2. Inside such loop, we can focus on manipulating the pageNumber(loop index) to prepare each sql statement accordingly.&lt;BR /&gt;&lt;BR /&gt;For instance, we can use&amp;nbsp;&lt;EM&gt;&lt;STRONG&gt;JOLT specification&lt;/STRONG&gt;&lt;/EM&gt;&amp;nbsp;to group those ID into an IDList array via&amp;nbsp;&lt;EM&gt;&lt;STRONG&gt;JoltTransformJSON processor,&lt;/STRONG&gt;&lt;/EM&gt; and is result would be like [123,124,125,...].&lt;BR /&gt;&lt;BR /&gt;After that, we can design an iteration loop, to get predefined range of numbers from aforementioned &lt;STRONG&gt;IDList based on the batchSize/pageSize.&amp;nbsp;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;For the 1st-Loop we can get 1st page filter scope, which covers the ID in
('IDList[0]', ..., 'IDList[pageSize*1-1]')

For the 2nd-Loop we can 2nd page filter scope, which covers the ID in
('IDList[pageSize*(2-1)]', ...., 'IDList[pageSize*2-1]')

As for the middle page filter scope, it would be 
('IDList[pageSize*(pageNum-1)]',....'IDList[pageSize*pageNum-1]')

For the last page, it then comes to be
('IDList[pageSize*(pageNum-1)]',....'IDList[IDListLength-1]')&lt;/LI-CODE&gt;&lt;P&gt;&lt;STRONG&gt;&lt;BR /&gt;&lt;/STRONG&gt;In such way, we now get batched sql statement's &lt;STRONG&gt;&amp;nbsp;in-conditional&lt;/STRONG&gt; part to prepare the where clause.&lt;BR /&gt;&lt;BR /&gt;You may refer the following link to use &lt;A href="https://community.cloudera.com/t5/Community-Articles/Generate-Batched-or-Paged-SQL-statement-from-JSON-content/ta-p/333870" target="_blank" rel="noopener"&gt;its attached&amp;nbsp; xml template file&lt;/A&gt; for more details.&lt;BR /&gt;&lt;BR /&gt;Hope this may help.&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Jan 2022 19:34:42 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/333875#M231548</guid>
      <dc:creator>OliverGong</dc:creator>
      <dc:date>2022-01-14T19:34:42Z</dc:date>
    </item>
    <item>
      <title>Re: Extract field from flow files to comma separated batches</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/333876#M231549</link>
      <description>&lt;P&gt;Attached the xml template file for your reference:&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;&amp;lt;?xml version="1.0" encoding="UTF-8" standalone="yes"?&amp;gt;
&amp;lt;template encoding-version="1.2"&amp;gt;
    &amp;lt;description&amp;gt;BatchPreSQL
Author: Oliver Gong
DATE: 2022-01-15
&amp;lt;/description&amp;gt;
    &amp;lt;groupId&amp;gt;0a50e507-017e-1000-2e5c-c691a8dbb45b&amp;lt;/groupId&amp;gt;
    &amp;lt;name&amp;gt;BatchPreSQL&amp;lt;/name&amp;gt;
    &amp;lt;snippet&amp;gt;
        &amp;lt;processGroups&amp;gt;
            &amp;lt;id&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/id&amp;gt;
            &amp;lt;parentGroupId&amp;gt;5511af2f-6c32-35cc-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
            &amp;lt;position&amp;gt;
                &amp;lt;x&amp;gt;0.0&amp;lt;/x&amp;gt;
                &amp;lt;y&amp;gt;0.0&amp;lt;/y&amp;gt;
            &amp;lt;/position&amp;gt;
            &amp;lt;additions/&amp;gt;
            &amp;lt;comments&amp;gt;BatchPreSQL
Author: Oliver Gong
DATE: 2022-01-14
&amp;lt;/comments&amp;gt;
            &amp;lt;contents&amp;gt;
                &amp;lt;connections&amp;gt;
                    &amp;lt;id&amp;gt;15c43a7e-4e9a-39c0-0000-000000000000&amp;lt;/id&amp;gt;
                    &amp;lt;parentGroupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                    &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                    &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                    &amp;lt;destination&amp;gt;
                        &amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
                        &amp;lt;id&amp;gt;8901cdca-8fdd-3d01-0000-000000000000&amp;lt;/id&amp;gt;
                        &amp;lt;type&amp;gt;INPUT_PORT&amp;lt;/type&amp;gt;
                    &amp;lt;/destination&amp;gt;
                    &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                    &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                    &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                    &amp;lt;selectedRelationships&amp;gt;success&amp;lt;/selectedRelationships&amp;gt;
                    &amp;lt;source&amp;gt;
                        &amp;lt;groupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/groupId&amp;gt;
                        &amp;lt;id&amp;gt;30fdeb4d-c403-3862-0000-000000000000&amp;lt;/id&amp;gt;
                        &amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                    &amp;lt;/source&amp;gt;
                    &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                &amp;lt;/connections&amp;gt;
                &amp;lt;connections&amp;gt;
                    &amp;lt;id&amp;gt;97ca5515-e845-3e39-0000-000000000000&amp;lt;/id&amp;gt;
                    &amp;lt;parentGroupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                    &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                    &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                    &amp;lt;bends&amp;gt;
                        &amp;lt;x&amp;gt;643.1160941528465&amp;lt;/x&amp;gt;
                        &amp;lt;y&amp;gt;1122.8689543715004&amp;lt;/y&amp;gt;
                    &amp;lt;/bends&amp;gt;
                    &amp;lt;destination&amp;gt;
                        &amp;lt;groupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/groupId&amp;gt;
                        &amp;lt;id&amp;gt;e333c1a6-2f02-341e-0000-000000000000&amp;lt;/id&amp;gt;
                        &amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                    &amp;lt;/destination&amp;gt;
                    &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                    &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                    &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                    &amp;lt;source&amp;gt;
                        &amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
                        &amp;lt;id&amp;gt;6ff09bae-c4a1-38c5-0000-000000000000&amp;lt;/id&amp;gt;
                        &amp;lt;type&amp;gt;OUTPUT_PORT&amp;lt;/type&amp;gt;
                    &amp;lt;/source&amp;gt;
                    &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                &amp;lt;/connections&amp;gt;
                &amp;lt;connections&amp;gt;
                    &amp;lt;id&amp;gt;9874061c-5dd6-3fd9-0000-000000000000&amp;lt;/id&amp;gt;
                    &amp;lt;parentGroupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                    &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                    &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                    &amp;lt;destination&amp;gt;
                        &amp;lt;groupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/groupId&amp;gt;
                        &amp;lt;id&amp;gt;74dbf5d9-50b9-3055-0000-000000000000&amp;lt;/id&amp;gt;
                        &amp;lt;type&amp;gt;FUNNEL&amp;lt;/type&amp;gt;
                    &amp;lt;/destination&amp;gt;
                    &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                    &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                    &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                    &amp;lt;source&amp;gt;
                        &amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
                        &amp;lt;id&amp;gt;b8c0272c-e161-3456-0000-000000000000&amp;lt;/id&amp;gt;
                        &amp;lt;type&amp;gt;OUTPUT_PORT&amp;lt;/type&amp;gt;
                    &amp;lt;/source&amp;gt;
                    &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                &amp;lt;/connections&amp;gt;
                &amp;lt;connections&amp;gt;
                    &amp;lt;id&amp;gt;e271b74a-2af3-3fcf-0000-000000000000&amp;lt;/id&amp;gt;
                    &amp;lt;parentGroupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                    &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                    &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                    &amp;lt;destination&amp;gt;
                        &amp;lt;groupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/groupId&amp;gt;
                        &amp;lt;id&amp;gt;e333c1a6-2f02-341e-0000-000000000000&amp;lt;/id&amp;gt;
                        &amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                    &amp;lt;/destination&amp;gt;
                    &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                    &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                    &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                    &amp;lt;source&amp;gt;
                        &amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
                        &amp;lt;id&amp;gt;3e3e7f3b-3d3a-3b8d-0000-000000000000&amp;lt;/id&amp;gt;
                        &amp;lt;type&amp;gt;OUTPUT_PORT&amp;lt;/type&amp;gt;
                    &amp;lt;/source&amp;gt;
                    &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                &amp;lt;/connections&amp;gt;
                &amp;lt;funnels&amp;gt;
                    &amp;lt;id&amp;gt;74dbf5d9-50b9-3055-0000-000000000000&amp;lt;/id&amp;gt;
                    &amp;lt;parentGroupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                    &amp;lt;position&amp;gt;
                        &amp;lt;x&amp;gt;386.6160941528465&amp;lt;/x&amp;gt;
                        &amp;lt;y&amp;gt;1410.3689543715004&amp;lt;/y&amp;gt;
                    &amp;lt;/position&amp;gt;
                &amp;lt;/funnels&amp;gt;
                &amp;lt;labels&amp;gt;
                    &amp;lt;id&amp;gt;087856d3-c058-355e-0000-000000000000&amp;lt;/id&amp;gt;
                    &amp;lt;parentGroupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                    &amp;lt;position&amp;gt;
                        &amp;lt;x&amp;gt;94.61609415284647&amp;lt;/x&amp;gt;
                        &amp;lt;y&amp;gt;782.3689543715004&amp;lt;/y&amp;gt;
                    &amp;lt;/position&amp;gt;
                    &amp;lt;height&amp;gt;255.0&amp;lt;/height&amp;gt;
                    &amp;lt;label&amp;gt;1. Generate  a request body to mock the client’s json request as following:
[{
"ID":123,
"params":"xxx"
},{
"ID":124,
"params":"xxx"
},{
"ID":125,
"params":"xxx"
},{
"ID":126,
"params":"xxx"
},{
"ID":127,
"params":"xxx"
}]&amp;lt;/label&amp;gt;
                    &amp;lt;style&amp;gt;
                        &amp;lt;entry&amp;gt;
                            &amp;lt;key&amp;gt;font-size&amp;lt;/key&amp;gt;
                            &amp;lt;value&amp;gt;12px&amp;lt;/value&amp;gt;
                        &amp;lt;/entry&amp;gt;
                    &amp;lt;/style&amp;gt;
                    &amp;lt;width&amp;gt;528.0&amp;lt;/width&amp;gt;
                &amp;lt;/labels&amp;gt;
                &amp;lt;labels&amp;gt;
                    &amp;lt;id&amp;gt;4a9b240d-8ba7-3852-0000-000000000000&amp;lt;/id&amp;gt;
                    &amp;lt;parentGroupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                    &amp;lt;position&amp;gt;
                        &amp;lt;x&amp;gt;-30.383905847153528&amp;lt;/x&amp;gt;
                        &amp;lt;y&amp;gt;1472.3689543715004&amp;lt;/y&amp;gt;
                    &amp;lt;/position&amp;gt;
                    &amp;lt;height&amp;gt;439.0&amp;lt;/height&amp;gt;
                    &amp;lt;label&amp;gt;Description on each condition scope of the spawn SQLs
==============================================

The index of data from IDList arrays is listed like

1stPage:  [FROM 0 TO pageSize-1]

2ndPage: [FROM pageSize TO 2*pageSize-1]

...

MiddlePage: [FROM (currentPage-1)*pageSize TO pageNumber*pageSize-1]

...

LastPage: [FROM   (currentPage-1)*pageSiz TO IDListLength-1 ]

As per the JSONPath grammar, to slice the array into a sub array, 
the specification we need to know is that :
    when using [I_START:I_END] JSONPath to slice the array, 
    -&amp;amp;gt; the data we gonna get is FROM index I_START TO I_END -1
     which means the index we specified after ":" would not be included to the slicing result. &amp;lt;/label&amp;gt;
                    &amp;lt;style&amp;gt;
                        &amp;lt;entry&amp;gt;
                            &amp;lt;key&amp;gt;font-size&amp;lt;/key&amp;gt;
                            &amp;lt;value&amp;gt;24px&amp;lt;/value&amp;gt;
                        &amp;lt;/entry&amp;gt;
                    &amp;lt;/style&amp;gt;
                    &amp;lt;width&amp;gt;1040.0&amp;lt;/width&amp;gt;
                &amp;lt;/labels&amp;gt;
                &amp;lt;labels&amp;gt;
                    &amp;lt;id&amp;gt;9e75a5d0-b823-3548-0000-000000000000&amp;lt;/id&amp;gt;
                    &amp;lt;parentGroupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                    &amp;lt;position&amp;gt;
                        &amp;lt;x&amp;gt;-414.3839058471535&amp;lt;/x&amp;gt;
                        &amp;lt;y&amp;gt;-6.6310914048667655&amp;lt;/y&amp;gt;
                    &amp;lt;/position&amp;gt;
                    &amp;lt;height&amp;gt;732.0&amp;lt;/height&amp;gt;
                    &amp;lt;label&amp;gt;This module(Processor Group) is going to demonstrate the way on 
how to prepare a batched SQLs when trying to look up a range of data in DB.

Once you finish importing this module, here is the guide on

+++++++++++++++++++++++
HOW TO USE THIS MODULE:
1. Start the whole module's processors, check the content/attribute of the flowfile coming from the sub module(01 PrepareBatchedSQLStr)
2. Check the batched sqlStr.
+++++++++++++++++++++++


You can try below stuff, if you'd like to do some further validation on this algorithm: 
1. CHANGE the module variable named batchSize.
With different batchSize settings, you would see the sqlStr being prepared accordingly.
(
    A. Right click on empty area on the canvas of current Module--BatchPreSQL, 
    B. Then select and click "Variables" button to jump into Variables setting page.
    C. Set variable-batchSize with other int values(postive int number exclude 0) to configure the pageSize of current algorithm.
        1. batchSize &amp;amp;gt; IDListLength 
        2. batchSize =  IDListLength
        3. batchSize &amp;amp;lt; IDListLength (postive int number exclude 0 or you may use abs EL function to support the negative values)
    D. Run the whole biz flow to verify such result.
)
2. You may also apply with larger raw json array to run the biz flow.


Please feel free to let me know if you have any question.&amp;lt;/label&amp;gt;
                    &amp;lt;style&amp;gt;
                        &amp;lt;entry&amp;gt;
                            &amp;lt;key&amp;gt;background-color&amp;lt;/key&amp;gt;
                            &amp;lt;value&amp;gt;#53b3d9&amp;lt;/value&amp;gt;
                        &amp;lt;/entry&amp;gt;
                        &amp;lt;entry&amp;gt;
                            &amp;lt;key&amp;gt;font-size&amp;lt;/key&amp;gt;
                            &amp;lt;value&amp;gt;24px&amp;lt;/value&amp;gt;
                        &amp;lt;/entry&amp;gt;
                    &amp;lt;/style&amp;gt;
                    &amp;lt;width&amp;gt;1514.0&amp;lt;/width&amp;gt;
                &amp;lt;/labels&amp;gt;
                &amp;lt;processGroups&amp;gt;
                    &amp;lt;id&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/id&amp;gt;
                    &amp;lt;parentGroupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                    &amp;lt;position&amp;gt;
                        &amp;lt;x&amp;gt;217.61609415284647&amp;lt;/x&amp;gt;
                        &amp;lt;y&amp;gt;1104.3689543715004&amp;lt;/y&amp;gt;
                    &amp;lt;/position&amp;gt;
                    &amp;lt;additions/&amp;gt;
                    &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;
                    &amp;lt;contents&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;07a8f12b-7736-3a6c-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;9ef7cadf-476e-3437-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;failure&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;unmatched&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;4ee2df31-2f9b-34d5-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;13b22f01-b24d-359f-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;60fb5121-b8bc-394a-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;success&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;19e51c58-e665-33c7-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;1736190e-f132-3dde-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;2428e910-0762-38e2-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;FUNNEL&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;Finish Batch Loop&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;unmatched&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;97407168-ea79-32f1-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;37a04d0a-9f84-3813-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;ed04498f-82f7-37f7-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;1. Inside the Batch Loop&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;97407168-ea79-32f1-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;4a4cc1bc-c93c-37f3-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;b8c0272c-e161-3456-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;OUTPUT_PORT&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;failure&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;success&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;60fb5121-b8bc-394a-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;4eef65de-4c95-3ca3-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;6ff09bae-c4a1-38c5-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;OUTPUT_PORT&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;success&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;6837ac99-5ce2-3c47-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;5cd2322c-6cf8-3117-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;97407168-ea79-32f1-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;success&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;f784d98d-4eaf-395c-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;660fbef2-894b-3ba6-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;e4d04817-e7d4-34a9-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;success&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;ed04498f-82f7-37f7-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;6a063a4c-e0e0-3f3f-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;3e3e7f3b-3d3a-3b8d-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;OUTPUT_PORT&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;2428e910-0762-38e2-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;FUNNEL&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;73d4d5b3-ed4d-33ef-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;f784d98d-4eaf-395c-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;matched&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;4ee2df31-2f9b-34d5-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;84fbfa68-f4f4-3ff8-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;a37238fd-6b1a-334b-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;8901cdca-8fdd-3d01-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;INPUT_PORT&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;955217f3-8048-314d-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;4ee2df31-2f9b-34d5-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;success&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;a37238fd-6b1a-334b-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;b447a208-a363-3f24-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;19e51c58-e665-33c7-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;success&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;ed04498f-82f7-37f7-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;b5babaa5-ec72-3496-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;6837ac99-5ce2-3c47-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;failure&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;a37238fd-6b1a-334b-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;b97777ac-b7ee-30e2-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;97407168-ea79-32f1-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;success&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;e4d04817-e7d4-34a9-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;connections&amp;gt;
                            &amp;lt;id&amp;gt;fd991255-d565-30f1-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;backPressureDataSizeThreshold&amp;gt;1 GB&amp;lt;/backPressureDataSizeThreshold&amp;gt;
                            &amp;lt;backPressureObjectThreshold&amp;gt;10000&amp;lt;/backPressureObjectThreshold&amp;gt;
                            &amp;lt;destination&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;6ff09bae-c4a1-38c5-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;OUTPUT_PORT&amp;lt;/type&amp;gt;
                            &amp;lt;/destination&amp;gt;
                            &amp;lt;flowFileExpiration&amp;gt;0 sec&amp;lt;/flowFileExpiration&amp;gt;
                            &amp;lt;labelIndex&amp;gt;1&amp;lt;/labelIndex&amp;gt;
                            &amp;lt;name&amp;gt;&amp;lt;/name&amp;gt;
                            &amp;lt;selectedRelationships&amp;gt;success&amp;lt;/selectedRelationships&amp;gt;
                            &amp;lt;source&amp;gt;
&amp;lt;groupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/groupId&amp;gt;
&amp;lt;id&amp;gt;9ef7cadf-476e-3437-0000-000000000000&amp;lt;/id&amp;gt;
&amp;lt;type&amp;gt;PROCESSOR&amp;lt;/type&amp;gt;
                            &amp;lt;/source&amp;gt;
                            &amp;lt;zIndex&amp;gt;0&amp;lt;/zIndex&amp;gt;
                        &amp;lt;/connections&amp;gt;
                        &amp;lt;funnels&amp;gt;
                            &amp;lt;id&amp;gt;2428e910-0762-38e2-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;1177.000005285659&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;694.9999968519692&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                        &amp;lt;/funnels&amp;gt;
                        &amp;lt;inputPorts&amp;gt;
                            &amp;lt;id&amp;gt;8901cdca-8fdd-3d01-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;486.000005285659&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;46.99999685196917&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
                            &amp;lt;name&amp;gt;IN&amp;lt;/name&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;type&amp;gt;INPUT_PORT&amp;lt;/type&amp;gt;
                        &amp;lt;/inputPorts&amp;gt;
                        &amp;lt;labels&amp;gt;
                            &amp;lt;id&amp;gt;29a66daf-8ba8-387c-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;1070.6160941528465&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;945.3690154066567&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;height&amp;gt;124.0&amp;lt;/height&amp;gt;
                            &amp;lt;label&amp;gt;JSONPath

[start:end]

Selects array elements from the start index and up to,
but not including, end index. 

[start:]
If end is omitted, 
selects all elements from start until the end of the array. Returns a list.&amp;lt;/label&amp;gt;
                            &amp;lt;style&amp;gt;
&amp;lt;entry&amp;gt;
    &amp;lt;key&amp;gt;font-size&amp;lt;/key&amp;gt;
    &amp;lt;value&amp;gt;12px&amp;lt;/value&amp;gt;
&amp;lt;/entry&amp;gt;
                            &amp;lt;/style&amp;gt;
                            &amp;lt;width&amp;gt;393.0&amp;lt;/width&amp;gt;
                        &amp;lt;/labels&amp;gt;
                        &amp;lt;labels&amp;gt;
                            &amp;lt;id&amp;gt;69a045b5-f89a-3bdd-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;707.000005285659&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;243.99999685196917&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;height&amp;gt;47.0&amp;lt;/height&amp;gt;
                            &amp;lt;label&amp;gt;Here we are going to extract the IDList which contains the whole ID(s) from the raw data.&amp;lt;/label&amp;gt;
                            &amp;lt;style&amp;gt;
&amp;lt;entry&amp;gt;
    &amp;lt;key&amp;gt;font-size&amp;lt;/key&amp;gt;
    &amp;lt;value&amp;gt;18px&amp;lt;/value&amp;gt;
&amp;lt;/entry&amp;gt;
                            &amp;lt;/style&amp;gt;
                            &amp;lt;width&amp;gt;732.0&amp;lt;/width&amp;gt;
                        &amp;lt;/labels&amp;gt;
                        &amp;lt;outputPorts&amp;gt;
                            &amp;lt;id&amp;gt;3e3e7f3b-3d3a-3b8d-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;1418.7386527465965&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;683.4886290541176&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
                            &amp;lt;name&amp;gt;Finish Preparing Batch SQL strs&amp;lt;/name&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;type&amp;gt;OUTPUT_PORT&amp;lt;/type&amp;gt;
                        &amp;lt;/outputPorts&amp;gt;
                        &amp;lt;outputPorts&amp;gt;
                            &amp;lt;id&amp;gt;6ff09bae-c4a1-38c5-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;-250.38390584715353&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;340.3689543715004&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
                            &amp;lt;name&amp;gt;Exceptions&amp;lt;/name&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;type&amp;gt;OUTPUT_PORT&amp;lt;/type&amp;gt;
                        &amp;lt;/outputPorts&amp;gt;
                        &amp;lt;outputPorts&amp;gt;
                            &amp;lt;id&amp;gt;b8c0272c-e161-3456-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;835.7386527465965&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;1555.4886290541176&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;
                            &amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
                            &amp;lt;name&amp;gt;Go2RemainBiz&amp;lt;/name&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;type&amp;gt;OUTPUT_PORT&amp;lt;/type&amp;gt;
                        &amp;lt;/outputPorts&amp;gt;
                        &amp;lt;processors&amp;gt;
                            &amp;lt;id&amp;gt;19e51c58-e665-33c7-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;883.6160941528465&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;1151.3689543715004&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;bundle&amp;gt;
&amp;lt;artifact&amp;gt;nifi-update-attribute-nar&amp;lt;/artifact&amp;gt;
&amp;lt;group&amp;gt;org.apache.nifi&amp;lt;/group&amp;gt;
&amp;lt;version&amp;gt;1.7.1-2.0_09000&amp;lt;/version&amp;gt;
                            &amp;lt;/bundle&amp;gt;
                            &amp;lt;config&amp;gt;
&amp;lt;bulletinLevel&amp;gt;WARN&amp;lt;/bulletinLevel&amp;gt;
&amp;lt;comments&amp;gt;If there only 1 element in the fetching scope, we would surround it with ('&amp;amp;lt;LastPage_OnlyOneExpectedValue2Fetch&amp;amp;gt;')&amp;lt;/comments&amp;gt;
&amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
&amp;lt;descriptors&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Delete Attributes Expression&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Delete Attributes Expression&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Store State&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Store State&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Stateful Variables Initial Value&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Stateful Variables Initial Value&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;sqlStr&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;sqlStr&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/descriptors&amp;gt;
&amp;lt;executionNode&amp;gt;ALL&amp;lt;/executionNode&amp;gt;
&amp;lt;lossTolerant&amp;gt;false&amp;lt;/lossTolerant&amp;gt;
&amp;lt;penaltyDuration&amp;gt;30 sec&amp;lt;/penaltyDuration&amp;gt;
&amp;lt;properties&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Delete Attributes Expression&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Store State&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;Do not store state&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Stateful Variables Initial Value&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;sqlStr&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;SELECT 
	* 
FROM 
	&amp;amp;lt;TABLE_NAME&amp;amp;gt;
WHERE
	ID IN ${sqlStrBatchCondition:contains(','):not()
				:ifElse(
					"('${sqlStrBatchCondition}')",
					${sqlStrBatchCondition}
				)
			}&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/properties&amp;gt;
&amp;lt;runDurationMillis&amp;gt;0&amp;lt;/runDurationMillis&amp;gt;
&amp;lt;schedulingPeriod&amp;gt;0 sec&amp;lt;/schedulingPeriod&amp;gt;
&amp;lt;schedulingStrategy&amp;gt;TIMER_DRIVEN&amp;lt;/schedulingStrategy&amp;gt;
&amp;lt;yieldDuration&amp;gt;1 sec&amp;lt;/yieldDuration&amp;gt;
                            &amp;lt;/config&amp;gt;
                            &amp;lt;executionNodeRestricted&amp;gt;false&amp;lt;/executionNodeRestricted&amp;gt;
                            &amp;lt;name&amp;gt;prepareSQLStrs&amp;lt;/name&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;success&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;style/&amp;gt;
                            &amp;lt;type&amp;gt;org.apache.nifi.processors.attributes.UpdateAttribute&amp;lt;/type&amp;gt;
                        &amp;lt;/processors&amp;gt;
                        &amp;lt;processors&amp;gt;
                            &amp;lt;id&amp;gt;4ee2df31-2f9b-34d5-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;564.7386527465965&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;439.4885985365395&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;bundle&amp;gt;
&amp;lt;artifact&amp;gt;nifi-standard-nar&amp;lt;/artifact&amp;gt;
&amp;lt;group&amp;gt;org.apache.nifi&amp;lt;/group&amp;gt;
&amp;lt;version&amp;gt;1.7.1-2.0_09000&amp;lt;/version&amp;gt;
                            &amp;lt;/bundle&amp;gt;
                            &amp;lt;config&amp;gt;
&amp;lt;bulletinLevel&amp;gt;WARN&amp;lt;/bulletinLevel&amp;gt;
&amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;
&amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
&amp;lt;descriptors&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Destination&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Destination&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Return Type&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Return Type&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Path Not Found Behavior&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Path Not Found Behavior&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Null Value Representation&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Null Value Representation&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;IDList&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;IDList&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/descriptors&amp;gt;
&amp;lt;executionNode&amp;gt;ALL&amp;lt;/executionNode&amp;gt;
&amp;lt;lossTolerant&amp;gt;false&amp;lt;/lossTolerant&amp;gt;
&amp;lt;penaltyDuration&amp;gt;30 sec&amp;lt;/penaltyDuration&amp;gt;
&amp;lt;properties&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Destination&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;flowfile-attribute&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Return Type&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;json&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Path Not Found Behavior&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;ignore&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Null Value Representation&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;empty string&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;IDList&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;$.IDList&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/properties&amp;gt;
&amp;lt;runDurationMillis&amp;gt;0&amp;lt;/runDurationMillis&amp;gt;
&amp;lt;schedulingPeriod&amp;gt;0 sec&amp;lt;/schedulingPeriod&amp;gt;
&amp;lt;schedulingStrategy&amp;gt;TIMER_DRIVEN&amp;lt;/schedulingStrategy&amp;gt;
&amp;lt;yieldDuration&amp;gt;1 sec&amp;lt;/yieldDuration&amp;gt;
                            &amp;lt;/config&amp;gt;
                            &amp;lt;executionNodeRestricted&amp;gt;false&amp;lt;/executionNodeRestricted&amp;gt;
                            &amp;lt;name&amp;gt;EvaluateJsonPath&amp;lt;/name&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;failure&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;matched&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;unmatched&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;style/&amp;gt;
                            &amp;lt;type&amp;gt;org.apache.nifi.processors.standard.EvaluateJsonPath&amp;lt;/type&amp;gt;
                        &amp;lt;/processors&amp;gt;
                        &amp;lt;processors&amp;gt;
                            &amp;lt;id&amp;gt;60fb5121-b8bc-394a-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;893.7386527465965&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;1365.4886290541176&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;bundle&amp;gt;
&amp;lt;artifact&amp;gt;nifi-standard-nar&amp;lt;/artifact&amp;gt;
&amp;lt;group&amp;gt;org.apache.nifi&amp;lt;/group&amp;gt;
&amp;lt;version&amp;gt;1.7.1-2.0_11005&amp;lt;/version&amp;gt;
                            &amp;lt;/bundle&amp;gt;
                            &amp;lt;config&amp;gt;
&amp;lt;bulletinLevel&amp;gt;WARN&amp;lt;/bulletinLevel&amp;gt;
&amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;
&amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
&amp;lt;descriptors&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Regular Expression&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Regular Expression&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Replacement Value&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Replacement Value&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Character Set&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Character Set&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Maximum Buffer Size&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Maximum Buffer Size&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Replacement Strategy&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Replacement Strategy&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Evaluation Mode&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Evaluation Mode&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/descriptors&amp;gt;
&amp;lt;executionNode&amp;gt;ALL&amp;lt;/executionNode&amp;gt;
&amp;lt;lossTolerant&amp;gt;false&amp;lt;/lossTolerant&amp;gt;
&amp;lt;penaltyDuration&amp;gt;30 sec&amp;lt;/penaltyDuration&amp;gt;
&amp;lt;properties&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Regular Expression&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;(?s)(^.*$)&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Replacement Value&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;==========
TotalPage: ${totalPage}
CurrentPage: ${currentPage}
PageSize:${batchSize}
==========
SQL is:
${sqlStr}&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Character Set&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;UTF-8&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Maximum Buffer Size&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;1 MB&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Replacement Strategy&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;Always Replace&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Evaluation Mode&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;Entire text&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/properties&amp;gt;
&amp;lt;runDurationMillis&amp;gt;0&amp;lt;/runDurationMillis&amp;gt;
&amp;lt;schedulingPeriod&amp;gt;0 sec&amp;lt;/schedulingPeriod&amp;gt;
&amp;lt;schedulingStrategy&amp;gt;TIMER_DRIVEN&amp;lt;/schedulingStrategy&amp;gt;
&amp;lt;yieldDuration&amp;gt;1 sec&amp;lt;/yieldDuration&amp;gt;
                            &amp;lt;/config&amp;gt;
                            &amp;lt;executionNodeRestricted&amp;gt;false&amp;lt;/executionNodeRestricted&amp;gt;
                            &amp;lt;name&amp;gt;PrintResult&amp;lt;/name&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;failure&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;success&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;style/&amp;gt;
                            &amp;lt;type&amp;gt;org.apache.nifi.processors.standard.ReplaceText&amp;lt;/type&amp;gt;
                        &amp;lt;/processors&amp;gt;
                        &amp;lt;processors&amp;gt;
                            &amp;lt;id&amp;gt;6837ac99-5ce2-3c47-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;245.00000528565897&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;227.99999685196917&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;bundle&amp;gt;
&amp;lt;artifact&amp;gt;nifi-update-attribute-nar&amp;lt;/artifact&amp;gt;
&amp;lt;group&amp;gt;org.apache.nifi&amp;lt;/group&amp;gt;
&amp;lt;version&amp;gt;1.7.1-2.0_09000&amp;lt;/version&amp;gt;
                            &amp;lt;/bundle&amp;gt;
                            &amp;lt;config&amp;gt;
&amp;lt;bulletinLevel&amp;gt;WARN&amp;lt;/bulletinLevel&amp;gt;
&amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;
&amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
&amp;lt;descriptors&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Delete Attributes Expression&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Delete Attributes Expression&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Store State&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Store State&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Stateful Variables Initial Value&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Stateful Variables Initial Value&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;msg&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;msg&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;msgCode&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;msgCode&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;status&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;status&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/descriptors&amp;gt;
&amp;lt;executionNode&amp;gt;ALL&amp;lt;/executionNode&amp;gt;
&amp;lt;lossTolerant&amp;gt;false&amp;lt;/lossTolerant&amp;gt;
&amp;lt;penaltyDuration&amp;gt;30 sec&amp;lt;/penaltyDuration&amp;gt;
&amp;lt;properties&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Delete Attributes Expression&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Store State&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;Do not store state&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Stateful Variables Initial Value&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;msg&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;Failed to extract IDList from raw data via JOLT.&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;msgCode&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;01:01&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;status&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;failed&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/properties&amp;gt;
&amp;lt;runDurationMillis&amp;gt;0&amp;lt;/runDurationMillis&amp;gt;
&amp;lt;schedulingPeriod&amp;gt;0 sec&amp;lt;/schedulingPeriod&amp;gt;
&amp;lt;schedulingStrategy&amp;gt;TIMER_DRIVEN&amp;lt;/schedulingStrategy&amp;gt;
&amp;lt;yieldDuration&amp;gt;1 sec&amp;lt;/yieldDuration&amp;gt;
                            &amp;lt;/config&amp;gt;
                            &amp;lt;executionNodeRestricted&amp;gt;false&amp;lt;/executionNodeRestricted&amp;gt;
                            &amp;lt;name&amp;gt;01 PrepareExceptionInfo&amp;lt;/name&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;success&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;style/&amp;gt;
                            &amp;lt;type&amp;gt;org.apache.nifi.processors.attributes.UpdateAttribute&amp;lt;/type&amp;gt;
                        &amp;lt;/processors&amp;gt;
                        &amp;lt;processors&amp;gt;
                            &amp;lt;id&amp;gt;97407168-ea79-32f1-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;868.7386527465965&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;670.4886290541176&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;bundle&amp;gt;
&amp;lt;artifact&amp;gt;nifi-standard-nar&amp;lt;/artifact&amp;gt;
&amp;lt;group&amp;gt;org.apache.nifi&amp;lt;/group&amp;gt;
&amp;lt;version&amp;gt;1.7.1-2.0_09000&amp;lt;/version&amp;gt;
                            &amp;lt;/bundle&amp;gt;
                            &amp;lt;config&amp;gt;
&amp;lt;bulletinLevel&amp;gt;WARN&amp;lt;/bulletinLevel&amp;gt;
&amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;
&amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
&amp;lt;descriptors&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Routing Strategy&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Routing Strategy&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;1. Inside the Batch Loop&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;1. Inside the Batch Loop&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/descriptors&amp;gt;
&amp;lt;executionNode&amp;gt;ALL&amp;lt;/executionNode&amp;gt;
&amp;lt;lossTolerant&amp;gt;false&amp;lt;/lossTolerant&amp;gt;
&amp;lt;penaltyDuration&amp;gt;30 sec&amp;lt;/penaltyDuration&amp;gt;
&amp;lt;properties&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Routing Strategy&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;Route to Property name&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;1. Inside the Batch Loop&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;${currentPage:le(${totalPage})}&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/properties&amp;gt;
&amp;lt;runDurationMillis&amp;gt;0&amp;lt;/runDurationMillis&amp;gt;
&amp;lt;schedulingPeriod&amp;gt;0 sec&amp;lt;/schedulingPeriod&amp;gt;
&amp;lt;schedulingStrategy&amp;gt;TIMER_DRIVEN&amp;lt;/schedulingStrategy&amp;gt;
&amp;lt;yieldDuration&amp;gt;1 sec&amp;lt;/yieldDuration&amp;gt;
                            &amp;lt;/config&amp;gt;
                            &amp;lt;executionNodeRestricted&amp;gt;false&amp;lt;/executionNodeRestricted&amp;gt;
                            &amp;lt;name&amp;gt;RouteOnAttribute&amp;lt;/name&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;1. Inside the Batch Loop&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;unmatched&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;style/&amp;gt;
                            &amp;lt;type&amp;gt;org.apache.nifi.processors.standard.RouteOnAttribute&amp;lt;/type&amp;gt;
                        &amp;lt;/processors&amp;gt;
                        &amp;lt;processors&amp;gt;
                            &amp;lt;id&amp;gt;9ef7cadf-476e-3437-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;247.00000528565897&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;439.9999968519692&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;bundle&amp;gt;
&amp;lt;artifact&amp;gt;nifi-update-attribute-nar&amp;lt;/artifact&amp;gt;
&amp;lt;group&amp;gt;org.apache.nifi&amp;lt;/group&amp;gt;
&amp;lt;version&amp;gt;1.7.1-2.0_09000&amp;lt;/version&amp;gt;
                            &amp;lt;/bundle&amp;gt;
                            &amp;lt;config&amp;gt;
&amp;lt;bulletinLevel&amp;gt;WARN&amp;lt;/bulletinLevel&amp;gt;
&amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;
&amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
&amp;lt;descriptors&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Delete Attributes Expression&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Delete Attributes Expression&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Store State&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Store State&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Stateful Variables Initial Value&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Stateful Variables Initial Value&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;msg&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;msg&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;msgCode&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;msgCode&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;status&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;status&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/descriptors&amp;gt;
&amp;lt;executionNode&amp;gt;ALL&amp;lt;/executionNode&amp;gt;
&amp;lt;lossTolerant&amp;gt;false&amp;lt;/lossTolerant&amp;gt;
&amp;lt;penaltyDuration&amp;gt;30 sec&amp;lt;/penaltyDuration&amp;gt;
&amp;lt;properties&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Delete Attributes Expression&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Store State&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;Do not store state&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Stateful Variables Initial Value&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;msg&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;Failed to extract IDList from flowfile content to attribute.&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;msgCode&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;01:02&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;status&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;failed&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/properties&amp;gt;
&amp;lt;runDurationMillis&amp;gt;0&amp;lt;/runDurationMillis&amp;gt;
&amp;lt;schedulingPeriod&amp;gt;0 sec&amp;lt;/schedulingPeriod&amp;gt;
&amp;lt;schedulingStrategy&amp;gt;TIMER_DRIVEN&amp;lt;/schedulingStrategy&amp;gt;
&amp;lt;yieldDuration&amp;gt;1 sec&amp;lt;/yieldDuration&amp;gt;
                            &amp;lt;/config&amp;gt;
                            &amp;lt;executionNodeRestricted&amp;gt;false&amp;lt;/executionNodeRestricted&amp;gt;
                            &amp;lt;name&amp;gt;02 PrepareExceptionInfo&amp;lt;/name&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;success&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;style/&amp;gt;
                            &amp;lt;type&amp;gt;org.apache.nifi.processors.attributes.UpdateAttribute&amp;lt;/type&amp;gt;
                        &amp;lt;/processors&amp;gt;
                        &amp;lt;processors&amp;gt;
                            &amp;lt;id&amp;gt;a37238fd-6b1a-334b-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;558.6317191528465&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;227.36889333634417&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;bundle&amp;gt;
&amp;lt;artifact&amp;gt;nifi-standard-nar&amp;lt;/artifact&amp;gt;
&amp;lt;group&amp;gt;org.apache.nifi&amp;lt;/group&amp;gt;
&amp;lt;version&amp;gt;1.7.1-2.0_11005&amp;lt;/version&amp;gt;
                            &amp;lt;/bundle&amp;gt;
                            &amp;lt;config&amp;gt;
&amp;lt;bulletinLevel&amp;gt;WARN&amp;lt;/bulletinLevel&amp;gt;
&amp;lt;comments&amp;gt;Here we are going to extract the IDList which contains the whole ID(s) from the raw data.&amp;lt;/comments&amp;gt;
&amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
&amp;lt;descriptors&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;jolt-transform&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;jolt-transform&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;jolt-custom-class&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;jolt-custom-class&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;jolt-custom-modules&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;jolt-custom-modules&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;jolt-spec&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;jolt-spec&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Transform Cache Size&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Transform Cache Size&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/descriptors&amp;gt;
&amp;lt;executionNode&amp;gt;ALL&amp;lt;/executionNode&amp;gt;
&amp;lt;lossTolerant&amp;gt;false&amp;lt;/lossTolerant&amp;gt;
&amp;lt;penaltyDuration&amp;gt;30 sec&amp;lt;/penaltyDuration&amp;gt;
&amp;lt;properties&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;jolt-transform&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;jolt-transform-chain&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;jolt-custom-class&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;jolt-custom-modules&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;jolt-spec&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;[{
    "operation": "shift",
    "spec": {
      "*":{
      	"ID":"IDList"
      }
    }
  }
]&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Transform Cache Size&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;1&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/properties&amp;gt;
&amp;lt;runDurationMillis&amp;gt;0&amp;lt;/runDurationMillis&amp;gt;
&amp;lt;schedulingPeriod&amp;gt;0 sec&amp;lt;/schedulingPeriod&amp;gt;
&amp;lt;schedulingStrategy&amp;gt;TIMER_DRIVEN&amp;lt;/schedulingStrategy&amp;gt;
&amp;lt;yieldDuration&amp;gt;1 sec&amp;lt;/yieldDuration&amp;gt;
                            &amp;lt;/config&amp;gt;
                            &amp;lt;executionNodeRestricted&amp;gt;false&amp;lt;/executionNodeRestricted&amp;gt;
                            &amp;lt;name&amp;gt;JoltTransformJSON&amp;lt;/name&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;failure&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;success&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;style/&amp;gt;
                            &amp;lt;type&amp;gt;org.apache.nifi.processors.standard.JoltTransformJSON&amp;lt;/type&amp;gt;
                        &amp;lt;/processors&amp;gt;
                        &amp;lt;processors&amp;gt;
                            &amp;lt;id&amp;gt;e4d04817-e7d4-34a9-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;577.7386527465965&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;946.4886290541176&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;bundle&amp;gt;
&amp;lt;artifact&amp;gt;nifi-update-attribute-nar&amp;lt;/artifact&amp;gt;
&amp;lt;group&amp;gt;org.apache.nifi&amp;lt;/group&amp;gt;
&amp;lt;version&amp;gt;1.7.1-2.0_09000&amp;lt;/version&amp;gt;
                            &amp;lt;/bundle&amp;gt;
                            &amp;lt;config&amp;gt;
&amp;lt;bulletinLevel&amp;gt;WARN&amp;lt;/bulletinLevel&amp;gt;
&amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;
&amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
&amp;lt;descriptors&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Delete Attributes Expression&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Delete Attributes Expression&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Store State&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Store State&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Stateful Variables Initial Value&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Stateful Variables Initial Value&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;currentPage&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;currentPage&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/descriptors&amp;gt;
&amp;lt;executionNode&amp;gt;ALL&amp;lt;/executionNode&amp;gt;
&amp;lt;lossTolerant&amp;gt;false&amp;lt;/lossTolerant&amp;gt;
&amp;lt;penaltyDuration&amp;gt;30 sec&amp;lt;/penaltyDuration&amp;gt;
&amp;lt;properties&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Delete Attributes Expression&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Store State&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;Do not store state&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Stateful Variables Initial Value&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;currentPage&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;${currentPage:plus(1)}&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/properties&amp;gt;
&amp;lt;runDurationMillis&amp;gt;0&amp;lt;/runDurationMillis&amp;gt;
&amp;lt;schedulingPeriod&amp;gt;0 sec&amp;lt;/schedulingPeriod&amp;gt;
&amp;lt;schedulingStrategy&amp;gt;TIMER_DRIVEN&amp;lt;/schedulingStrategy&amp;gt;
&amp;lt;yieldDuration&amp;gt;1 sec&amp;lt;/yieldDuration&amp;gt;
                            &amp;lt;/config&amp;gt;
                            &amp;lt;executionNodeRestricted&amp;gt;false&amp;lt;/executionNodeRestricted&amp;gt;
                            &amp;lt;name&amp;gt;ScrollcurrentPage&amp;lt;/name&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;success&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;style/&amp;gt;
                            &amp;lt;type&amp;gt;org.apache.nifi.processors.attributes.UpdateAttribute&amp;lt;/type&amp;gt;
                        &amp;lt;/processors&amp;gt;
                        &amp;lt;processors&amp;gt;
                            &amp;lt;id&amp;gt;ed04498f-82f7-37f7-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;874.7386527465965&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;947.4886290541176&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;bundle&amp;gt;
&amp;lt;artifact&amp;gt;nifi-update-attribute-nar&amp;lt;/artifact&amp;gt;
&amp;lt;group&amp;gt;org.apache.nifi&amp;lt;/group&amp;gt;
&amp;lt;version&amp;gt;1.7.1-2.0_09000&amp;lt;/version&amp;gt;
                            &amp;lt;/bundle&amp;gt;
                            &amp;lt;config&amp;gt;
&amp;lt;annotationData&amp;gt;&amp;amp;lt;criteria&amp;amp;gt;
    &amp;amp;lt;flowFilePolicy&amp;amp;gt;USE_ORIGINAL&amp;amp;lt;/flowFilePolicy&amp;amp;gt;
    &amp;amp;lt;rules&amp;amp;gt;
        &amp;amp;lt;actions&amp;amp;gt;
            &amp;amp;lt;attribute&amp;amp;gt;sqlStrBatchCondition&amp;amp;lt;/attribute&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;570f5b7b-f835-4c8d-8f5d-e08deda1c7c1&amp;amp;lt;/id&amp;amp;gt;
            &amp;amp;lt;value&amp;amp;gt;${IDList:jsonPath("$[0:${IDListLength}]")
	:replaceAll(',',"','"):replaceAll('\[',"('"):replaceAll('\]',"')")
}
              &amp;amp;lt;/value&amp;amp;gt;
        &amp;amp;lt;/actions&amp;amp;gt;
        &amp;amp;lt;conditions&amp;amp;gt;
            &amp;amp;lt;expression&amp;amp;gt;${currentPage:equals(1)}&amp;amp;lt;/expression&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;97d055e9-12d2-439c-93a4-8642f0bebd6d&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;/conditions&amp;amp;gt;
        &amp;amp;lt;conditions&amp;amp;gt;
            &amp;amp;lt;expression&amp;amp;gt;${IDListLength:le(${pageSize})}&amp;amp;lt;/expression&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;fa0053b2-a183-4f33-9788-3fe68ccae5f1&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;/conditions&amp;amp;gt;
        &amp;amp;lt;id&amp;amp;gt;c0bb8d5c-cb73-40f5-8323-632122cb75ac&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;name&amp;amp;gt;1.1 First Page &amp;amp;amp;amp;&amp;amp;amp;amp; IDListLength &amp;amp;amp;lt;= pageSize &amp;amp;lt;/name&amp;amp;gt;
    &amp;amp;lt;/rules&amp;amp;gt;
    &amp;amp;lt;rules&amp;amp;gt;
        &amp;amp;lt;actions&amp;amp;gt;
            &amp;amp;lt;attribute&amp;amp;gt;sqlStrBatchCondition&amp;amp;lt;/attribute&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;570f5b7b-f835-4c8d-8f5d-e08deda1c7c1&amp;amp;lt;/id&amp;amp;gt;
            &amp;amp;lt;value&amp;amp;gt;${IDList:jsonPath("$[0:${pageSize}]")
	:replaceAll(',',"','"):replaceAll('\[',"('"):replaceAll('\]',"')")
}&amp;amp;lt;/value&amp;amp;gt;
        &amp;amp;lt;/actions&amp;amp;gt;
        &amp;amp;lt;conditions&amp;amp;gt;
            &amp;amp;lt;expression&amp;amp;gt;${currentPage:equals(1)}&amp;amp;lt;/expression&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;97d055e9-12d2-439c-93a4-8642f0bebd6d&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;/conditions&amp;amp;gt;
        &amp;amp;lt;conditions&amp;amp;gt;
            &amp;amp;lt;expression&amp;amp;gt;${IDListLength:le(${pageSize}):not()}&amp;amp;lt;/expression&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;fa0053b2-a183-4f33-9788-3fe68ccae5f1&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;/conditions&amp;amp;gt;
        &amp;amp;lt;id&amp;amp;gt;b351555e-2dd8-4303-bd05-6aff43731a38&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;name&amp;amp;gt;1.2 First Page &amp;amp;amp;amp;&amp;amp;amp;amp; IDListLength &amp;amp;amp;gt; pageSize &amp;amp;lt;/name&amp;amp;gt;
    &amp;amp;lt;/rules&amp;amp;gt;
    &amp;amp;lt;rules&amp;amp;gt;
        &amp;amp;lt;actions&amp;amp;gt;
            &amp;amp;lt;attribute&amp;amp;gt;sqlStrBatchCondition&amp;amp;lt;/attribute&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;570f5b7b-f835-4c8d-8f5d-e08deda1c7c1&amp;amp;lt;/id&amp;amp;gt;
            &amp;amp;lt;value&amp;amp;gt;${IDList:jsonPath("$[${currentPage:minus(1):multiply(${pageSize})}:${currentPage:minus(1):multiply(${pageSize}):plus(${pageSize})}]")
	:replaceAll(',',"','"):replaceAll('\[',"('"):replaceAll('\]',"')")
}&amp;amp;lt;/value&amp;amp;gt;
        &amp;amp;lt;/actions&amp;amp;gt;
        &amp;amp;lt;conditions&amp;amp;gt;
            &amp;amp;lt;expression&amp;amp;gt;${currentPage:lt(${totalPage})}&amp;amp;lt;/expression&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;46a93c40-dac1-4502-8dac-ceb2b12a2756&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;/conditions&amp;amp;gt;
        &amp;amp;lt;conditions&amp;amp;gt;
            &amp;amp;lt;expression&amp;amp;gt;${currentPage:gt(1)}&amp;amp;lt;/expression&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;97d055e9-12d2-439c-93a4-8642f0bebd6d&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;/conditions&amp;amp;gt;
        &amp;amp;lt;id&amp;amp;gt;e19f2512-98be-47fa-8e0b-76339348f853&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;name&amp;amp;gt;2. MiddlePage&amp;amp;lt;/name&amp;amp;gt;
    &amp;amp;lt;/rules&amp;amp;gt;
    &amp;amp;lt;rules&amp;amp;gt;
        &amp;amp;lt;actions&amp;amp;gt;
            &amp;amp;lt;attribute&amp;amp;gt;sqlStrBatchCondition&amp;amp;lt;/attribute&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;570f5b7b-f835-4c8d-8f5d-e08deda1c7c1&amp;amp;lt;/id&amp;amp;gt;
            &amp;amp;lt;value&amp;amp;gt;${IDList:jsonPath("$[${currentPage:minus(1):multiply(${pageSize})}:${IDListLength}]")
	:replaceAll(',',"','"):replaceAll('\[',"('"):replaceAll('\]',"')")
}&amp;amp;lt;/value&amp;amp;gt;
        &amp;amp;lt;/actions&amp;amp;gt;
        &amp;amp;lt;conditions&amp;amp;gt;
            &amp;amp;lt;expression&amp;amp;gt;${currentPage:equals(${totalPage})}&amp;amp;lt;/expression&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;97d055e9-12d2-439c-93a4-8642f0bebd6d&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;/conditions&amp;amp;gt;
        &amp;amp;lt;conditions&amp;amp;gt;
            &amp;amp;lt;expression&amp;amp;gt;${totalPage:equals(1):not()}&amp;amp;lt;/expression&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;46a93c40-dac1-4502-8dac-ceb2b12a2756&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;/conditions&amp;amp;gt;
        &amp;amp;lt;id&amp;amp;gt;0d277b81-3121-4d87-844d-4dcc1325fb2c&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;name&amp;amp;gt;3. LastPage &amp;amp;amp;amp;&amp;amp;amp;amp; totalPage !=1&amp;amp;lt;/name&amp;amp;gt;
    &amp;amp;lt;/rules&amp;amp;gt;
&amp;amp;lt;/criteria&amp;amp;gt;&amp;lt;/annotationData&amp;gt;
&amp;lt;bulletinLevel&amp;gt;WARN&amp;lt;/bulletinLevel&amp;gt;
&amp;lt;comments&amp;gt;SELECT 
	* 
FROM 
	&amp;amp;lt;TABLE_NAME&amp;amp;gt;
WHERE
	ID IN ${index:equals(${specificFlag:replaceEmpty('')})
            :ifElse(
              ${IDList:jsonPath("$[${index:multiply(${batchSize})}:${IDListLength:minus(1)}]")
                    :replaceAll(',',"','"):replaceAll('\[',"('"):replaceAll('\]',"')")
                },
              ${IDList:jsonPath("$[${index:multiply(${batchSize})}:${index:multiply(${batchSize}):plus(${batchSize})}]")
                    :replaceAll(',',"','"):replaceAll('\[',"('"):replaceAll('\]',"')")
                }
            )
         }&amp;lt;/comments&amp;gt;
&amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
&amp;lt;descriptors&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Delete Attributes Expression&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Delete Attributes Expression&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Store State&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Store State&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Stateful Variables Initial Value&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Stateful Variables Initial Value&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/descriptors&amp;gt;
&amp;lt;executionNode&amp;gt;ALL&amp;lt;/executionNode&amp;gt;
&amp;lt;lossTolerant&amp;gt;false&amp;lt;/lossTolerant&amp;gt;
&amp;lt;penaltyDuration&amp;gt;0 sec&amp;lt;/penaltyDuration&amp;gt;
&amp;lt;properties&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Delete Attributes Expression&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Store State&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;Do not store state&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Stateful Variables Initial Value&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/properties&amp;gt;
&amp;lt;runDurationMillis&amp;gt;0&amp;lt;/runDurationMillis&amp;gt;
&amp;lt;schedulingPeriod&amp;gt;0 sec&amp;lt;/schedulingPeriod&amp;gt;
&amp;lt;schedulingStrategy&amp;gt;TIMER_DRIVEN&amp;lt;/schedulingStrategy&amp;gt;
&amp;lt;yieldDuration&amp;gt;1 sec&amp;lt;/yieldDuration&amp;gt;
                            &amp;lt;/config&amp;gt;
                            &amp;lt;executionNodeRestricted&amp;gt;false&amp;lt;/executionNodeRestricted&amp;gt;
                            &amp;lt;name&amp;gt;prepareWhereClauseConditionPart&amp;lt;/name&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;success&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;style/&amp;gt;
                            &amp;lt;type&amp;gt;org.apache.nifi.processors.attributes.UpdateAttribute&amp;lt;/type&amp;gt;
                        &amp;lt;/processors&amp;gt;
                        &amp;lt;processors&amp;gt;
                            &amp;lt;id&amp;gt;f784d98d-4eaf-395c-0000-000000000000&amp;lt;/id&amp;gt;
                            &amp;lt;parentGroupId&amp;gt;56e121fa-15d6-3fd4-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                            &amp;lt;position&amp;gt;
&amp;lt;x&amp;gt;566.7386527465965&amp;lt;/x&amp;gt;
&amp;lt;y&amp;gt;666.4886290541176&amp;lt;/y&amp;gt;
                            &amp;lt;/position&amp;gt;
                            &amp;lt;bundle&amp;gt;
&amp;lt;artifact&amp;gt;nifi-update-attribute-nar&amp;lt;/artifact&amp;gt;
&amp;lt;group&amp;gt;org.apache.nifi&amp;lt;/group&amp;gt;
&amp;lt;version&amp;gt;1.7.1-2.0_09000&amp;lt;/version&amp;gt;
                            &amp;lt;/bundle&amp;gt;
                            &amp;lt;config&amp;gt;
&amp;lt;annotationData&amp;gt;&amp;amp;lt;criteria&amp;amp;gt;
    &amp;amp;lt;flowFilePolicy&amp;amp;gt;USE_ORIGINAL&amp;amp;lt;/flowFilePolicy&amp;amp;gt;
    &amp;amp;lt;rules&amp;amp;gt;
        &amp;amp;lt;actions&amp;amp;gt;
            &amp;amp;lt;attribute&amp;amp;gt;totalPage&amp;amp;lt;/attribute&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;0c63c6dd-1748-4e21-8e35-e8645341dd48&amp;amp;lt;/id&amp;amp;gt;
            &amp;amp;lt;value&amp;amp;gt;${IDList:jsonPath('$.length()'):divide(${batchSize})}&amp;amp;lt;/value&amp;amp;gt;
        &amp;amp;lt;/actions&amp;amp;gt;
        &amp;amp;lt;conditions&amp;amp;gt;
            &amp;amp;lt;expression&amp;amp;gt;${IDList:jsonPath('$.length()'):mod(${batchSize}):equals('0')}&amp;amp;lt;/expression&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;20c60e9a-db68-44b1-a22b-e3f83a57dd8a&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;/conditions&amp;amp;gt;
        &amp;amp;lt;id&amp;amp;gt;2fb2c755-2084-409d-b48e-176751d78930&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;name&amp;amp;gt;1. IDList Length Mod batchSize = 0&amp;amp;lt;/name&amp;amp;gt;
    &amp;amp;lt;/rules&amp;amp;gt;
    &amp;amp;lt;rules&amp;amp;gt;
        &amp;amp;lt;actions&amp;amp;gt;
            &amp;amp;lt;attribute&amp;amp;gt;specialPage&amp;amp;lt;/attribute&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;4f763b71-bb46-472c-8364-86e6fbd293fe&amp;amp;lt;/id&amp;amp;gt;
            &amp;amp;lt;value&amp;amp;gt;${IDList:jsonPath('$.length()'):divide(${batchSize})}&amp;amp;lt;/value&amp;amp;gt;
        &amp;amp;lt;/actions&amp;amp;gt;
        &amp;amp;lt;actions&amp;amp;gt;
            &amp;amp;lt;attribute&amp;amp;gt;totalPage&amp;amp;lt;/attribute&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;0c63c6dd-1748-4e21-8e35-e8645341dd48&amp;amp;lt;/id&amp;amp;gt;
            &amp;amp;lt;value&amp;amp;gt;${IDList:jsonPath('$.length()'):divide(${batchSize}):plus(1)}&amp;amp;lt;/value&amp;amp;gt;
        &amp;amp;lt;/actions&amp;amp;gt;
        &amp;amp;lt;conditions&amp;amp;gt;
            &amp;amp;lt;expression&amp;amp;gt;${IDList:jsonPath('$.length()'):mod(${batchSize}):equals('0'):not()}&amp;amp;lt;/expression&amp;amp;gt;
            &amp;amp;lt;id&amp;amp;gt;20c60e9a-db68-44b1-a22b-e3f83a57dd8a&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;/conditions&amp;amp;gt;
        &amp;amp;lt;id&amp;amp;gt;403feae6-e423-4b8b-b15a-e8a93dac5fd7&amp;amp;lt;/id&amp;amp;gt;
        &amp;amp;lt;name&amp;amp;gt;2. 1. IDList Length Mod batchSize != 0&amp;amp;lt;/name&amp;amp;gt;
    &amp;amp;lt;/rules&amp;amp;gt;
&amp;amp;lt;/criteria&amp;amp;gt;&amp;lt;/annotationData&amp;gt;
&amp;lt;bulletinLevel&amp;gt;WARN&amp;lt;/bulletinLevel&amp;gt;
&amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;
&amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
&amp;lt;descriptors&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Delete Attributes Expression&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Delete Attributes Expression&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Store State&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Store State&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Stateful Variables Initial Value&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;Stateful Variables Initial Value&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;currentPage&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;currentPage&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;IDListLength&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;IDListLength&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;pageSize&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;
            &amp;lt;name&amp;gt;pageSize&amp;lt;/name&amp;gt;
        &amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/descriptors&amp;gt;
&amp;lt;executionNode&amp;gt;ALL&amp;lt;/executionNode&amp;gt;
&amp;lt;lossTolerant&amp;gt;false&amp;lt;/lossTolerant&amp;gt;
&amp;lt;penaltyDuration&amp;gt;30 sec&amp;lt;/penaltyDuration&amp;gt;
&amp;lt;properties&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Delete Attributes Expression&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Store State&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;Do not store state&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;Stateful Variables Initial Value&amp;lt;/key&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;currentPage&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;1&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;IDListLength&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;${IDList:jsonPath('$.length()')}&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
    &amp;lt;entry&amp;gt;
        &amp;lt;key&amp;gt;pageSize&amp;lt;/key&amp;gt;
        &amp;lt;value&amp;gt;${batchSize}&amp;lt;/value&amp;gt;
    &amp;lt;/entry&amp;gt;
&amp;lt;/properties&amp;gt;
&amp;lt;runDurationMillis&amp;gt;0&amp;lt;/runDurationMillis&amp;gt;
&amp;lt;schedulingPeriod&amp;gt;0 sec&amp;lt;/schedulingPeriod&amp;gt;
&amp;lt;schedulingStrategy&amp;gt;TIMER_DRIVEN&amp;lt;/schedulingStrategy&amp;gt;
&amp;lt;yieldDuration&amp;gt;1 sec&amp;lt;/yieldDuration&amp;gt;
                            &amp;lt;/config&amp;gt;
                            &amp;lt;executionNodeRestricted&amp;gt;false&amp;lt;/executionNodeRestricted&amp;gt;
                            &amp;lt;name&amp;gt;InitializeTheBatchLoop&amp;lt;/name&amp;gt;
                            &amp;lt;relationships&amp;gt;
&amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
&amp;lt;name&amp;gt;success&amp;lt;/name&amp;gt;
                            &amp;lt;/relationships&amp;gt;
                            &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                            &amp;lt;style/&amp;gt;
                            &amp;lt;type&amp;gt;org.apache.nifi.processors.attributes.UpdateAttribute&amp;lt;/type&amp;gt;
                        &amp;lt;/processors&amp;gt;
                    &amp;lt;/contents&amp;gt;
                    &amp;lt;name&amp;gt;01 PrepareBatchedSQLStr&amp;lt;/name&amp;gt;
                    &amp;lt;variables/&amp;gt;
                &amp;lt;/processGroups&amp;gt;
                &amp;lt;processors&amp;gt;
                    &amp;lt;id&amp;gt;30fdeb4d-c403-3862-0000-000000000000&amp;lt;/id&amp;gt;
                    &amp;lt;parentGroupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                    &amp;lt;position&amp;gt;
                        &amp;lt;x&amp;gt;351.6160941528465&amp;lt;/x&amp;gt;
                        &amp;lt;y&amp;gt;863.3689543715004&amp;lt;/y&amp;gt;
                    &amp;lt;/position&amp;gt;
                    &amp;lt;bundle&amp;gt;
                        &amp;lt;artifact&amp;gt;nifi-standard-nar&amp;lt;/artifact&amp;gt;
                        &amp;lt;group&amp;gt;org.apache.nifi&amp;lt;/group&amp;gt;
                        &amp;lt;version&amp;gt;1.7.1-2.0_09000&amp;lt;/version&amp;gt;
                    &amp;lt;/bundle&amp;gt;
                    &amp;lt;config&amp;gt;
                        &amp;lt;bulletinLevel&amp;gt;WARN&amp;lt;/bulletinLevel&amp;gt;
                        &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;
                        &amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
                        &amp;lt;descriptors&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;File Size&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;
    &amp;lt;name&amp;gt;File Size&amp;lt;/name&amp;gt;
&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;Batch Size&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;
    &amp;lt;name&amp;gt;Batch Size&amp;lt;/name&amp;gt;
&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;Data Format&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;
    &amp;lt;name&amp;gt;Data Format&amp;lt;/name&amp;gt;
&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;Unique FlowFiles&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;
    &amp;lt;name&amp;gt;Unique FlowFiles&amp;lt;/name&amp;gt;
&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;generate-ff-custom-text&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;
    &amp;lt;name&amp;gt;generate-ff-custom-text&amp;lt;/name&amp;gt;
&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;character-set&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;
    &amp;lt;name&amp;gt;character-set&amp;lt;/name&amp;gt;
&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;mime.type&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;
    &amp;lt;name&amp;gt;mime.type&amp;lt;/name&amp;gt;
&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;test&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;
    &amp;lt;name&amp;gt;test&amp;lt;/name&amp;gt;
&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                        &amp;lt;/descriptors&amp;gt;
                        &amp;lt;executionNode&amp;gt;ALL&amp;lt;/executionNode&amp;gt;
                        &amp;lt;lossTolerant&amp;gt;false&amp;lt;/lossTolerant&amp;gt;
                        &amp;lt;penaltyDuration&amp;gt;30 sec&amp;lt;/penaltyDuration&amp;gt;
                        &amp;lt;properties&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;File Size&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;0B&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;Batch Size&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;1&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;Data Format&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;Text&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;Unique FlowFiles&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;false&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;generate-ff-custom-text&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;[{
"ID":123,
"params":"xxx"
},{
"ID":124,
"params":"xxx"
},{
"ID":125,
"params":"xxx"
},{
"ID":126,
"params":"xxx"
},{
"ID":127,
"params":"xxx"
}]&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;character-set&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;UTF-8&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;mime.type&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;application/json;charset=utf-8&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;test&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;${literal('ab')
:toUpper()}&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                        &amp;lt;/properties&amp;gt;
                        &amp;lt;runDurationMillis&amp;gt;0&amp;lt;/runDurationMillis&amp;gt;
                        &amp;lt;schedulingPeriod&amp;gt;1 d&amp;lt;/schedulingPeriod&amp;gt;
                        &amp;lt;schedulingStrategy&amp;gt;TIMER_DRIVEN&amp;lt;/schedulingStrategy&amp;gt;
                        &amp;lt;yieldDuration&amp;gt;1 sec&amp;lt;/yieldDuration&amp;gt;
                    &amp;lt;/config&amp;gt;
                    &amp;lt;executionNodeRestricted&amp;gt;false&amp;lt;/executionNodeRestricted&amp;gt;
                    &amp;lt;name&amp;gt;GenerateFlowFile&amp;lt;/name&amp;gt;
                    &amp;lt;relationships&amp;gt;
                        &amp;lt;autoTerminate&amp;gt;false&amp;lt;/autoTerminate&amp;gt;
                        &amp;lt;name&amp;gt;success&amp;lt;/name&amp;gt;
                    &amp;lt;/relationships&amp;gt;
                    &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                    &amp;lt;style/&amp;gt;
                    &amp;lt;type&amp;gt;org.apache.nifi.processors.standard.GenerateFlowFile&amp;lt;/type&amp;gt;
                &amp;lt;/processors&amp;gt;
                &amp;lt;processors&amp;gt;
                    &amp;lt;id&amp;gt;e333c1a6-2f02-341e-0000-000000000000&amp;lt;/id&amp;gt;
                    &amp;lt;parentGroupId&amp;gt;eff4ec5e-a8ab-3310-0000-000000000000&amp;lt;/parentGroupId&amp;gt;
                    &amp;lt;position&amp;gt;
                        &amp;lt;x&amp;gt;824.6160941528465&amp;lt;/x&amp;gt;
                        &amp;lt;y&amp;gt;1161.3689543715004&amp;lt;/y&amp;gt;
                    &amp;lt;/position&amp;gt;
                    &amp;lt;bundle&amp;gt;
                        &amp;lt;artifact&amp;gt;nifi-standard-nar&amp;lt;/artifact&amp;gt;
                        &amp;lt;group&amp;gt;org.apache.nifi&amp;lt;/group&amp;gt;
                        &amp;lt;version&amp;gt;1.7.1-2.0_09000&amp;lt;/version&amp;gt;
                    &amp;lt;/bundle&amp;gt;
                    &amp;lt;config&amp;gt;
                        &amp;lt;bulletinLevel&amp;gt;WARN&amp;lt;/bulletinLevel&amp;gt;
                        &amp;lt;comments&amp;gt;&amp;lt;/comments&amp;gt;
                        &amp;lt;concurrentlySchedulableTaskCount&amp;gt;1&amp;lt;/concurrentlySchedulableTaskCount&amp;gt;
                        &amp;lt;descriptors&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;log-level&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;
    &amp;lt;name&amp;gt;log-level&amp;lt;/name&amp;gt;
&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;log-prefix&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;
    &amp;lt;name&amp;gt;log-prefix&amp;lt;/name&amp;gt;
&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;log-message&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;
    &amp;lt;name&amp;gt;log-message&amp;lt;/name&amp;gt;
&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                        &amp;lt;/descriptors&amp;gt;
                        &amp;lt;executionNode&amp;gt;ALL&amp;lt;/executionNode&amp;gt;
                        &amp;lt;lossTolerant&amp;gt;false&amp;lt;/lossTolerant&amp;gt;
                        &amp;lt;penaltyDuration&amp;gt;30 sec&amp;lt;/penaltyDuration&amp;gt;
                        &amp;lt;properties&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;log-level&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;info&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;log-prefix&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;### RESULT ###&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                            &amp;lt;entry&amp;gt;
&amp;lt;key&amp;gt;log-message&amp;lt;/key&amp;gt;
&amp;lt;value&amp;gt;${status:replaceEmpty('Success')}${msg}${msgCode}&amp;lt;/value&amp;gt;
                            &amp;lt;/entry&amp;gt;
                        &amp;lt;/properties&amp;gt;
                        &amp;lt;runDurationMillis&amp;gt;0&amp;lt;/runDurationMillis&amp;gt;
                        &amp;lt;schedulingPeriod&amp;gt;0 sec&amp;lt;/schedulingPeriod&amp;gt;
                        &amp;lt;schedulingStrategy&amp;gt;TIMER_DRIVEN&amp;lt;/schedulingStrategy&amp;gt;
                        &amp;lt;yieldDuration&amp;gt;1 sec&amp;lt;/yieldDuration&amp;gt;
                    &amp;lt;/config&amp;gt;
                    &amp;lt;executionNodeRestricted&amp;gt;false&amp;lt;/executionNodeRestricted&amp;gt;
                    &amp;lt;name&amp;gt;LogMessage&amp;lt;/name&amp;gt;
                    &amp;lt;relationships&amp;gt;
                        &amp;lt;autoTerminate&amp;gt;true&amp;lt;/autoTerminate&amp;gt;
                        &amp;lt;name&amp;gt;success&amp;lt;/name&amp;gt;
                    &amp;lt;/relationships&amp;gt;
                    &amp;lt;state&amp;gt;RUNNING&amp;lt;/state&amp;gt;
                    &amp;lt;style/&amp;gt;
                    &amp;lt;type&amp;gt;org.apache.nifi.processors.standard.LogMessage&amp;lt;/type&amp;gt;
                &amp;lt;/processors&amp;gt;
            &amp;lt;/contents&amp;gt;
            &amp;lt;name&amp;gt;BatchPreSQL&amp;lt;/name&amp;gt;
            &amp;lt;variables&amp;gt;
                &amp;lt;entry&amp;gt;
                    &amp;lt;key&amp;gt;batchSize&amp;lt;/key&amp;gt;
                    &amp;lt;value&amp;gt;4&amp;lt;/value&amp;gt;
                &amp;lt;/entry&amp;gt;
            &amp;lt;/variables&amp;gt;
        &amp;lt;/processGroups&amp;gt;
    &amp;lt;/snippet&amp;gt;
    &amp;lt;timestamp&amp;gt;01/15/2022 02:19:55 CST&amp;lt;/timestamp&amp;gt;
&amp;lt;/template&amp;gt;&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;</description>
      <pubDate>Fri, 14 Jan 2022 19:37:11 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/333876#M231549</guid>
      <dc:creator>OliverGong</dc:creator>
      <dc:date>2022-01-14T19:37:11Z</dc:date>
    </item>
    <item>
      <title>Re: Extract field from flow files to comma separated batches</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/333881#M231550</link>
      <description>&lt;P&gt;Perhaps we could first read the flow file content in json format, and then parsing it as json object.&lt;BR /&gt;(&lt;BR /&gt;e.g. if using groovy script, we might use&amp;nbsp;&lt;SPAN&gt;JsonSlurper to deal with such flow file content of valid JSON format.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;)&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="OliverGong_1-1642189626485.png" style="width: 400px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/33169iCA3A3A449BA5AA04/image-size/medium?v=v2&amp;amp;px=400" role="button" title="OliverGong_1-1642189626485.png" alt="OliverGong_1-1642189626485.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper lia-image-align-inline" image-alt="OliverGong_0-1642189591402.png" style="width: 400px;"&gt;&lt;img src="https://community.cloudera.com/t5/image/serverpage/image-id/33168i5C3841F2FFE69D49/image-size/medium?v=v2&amp;amp;px=400" role="button" title="OliverGong_0-1642189591402.png" alt="OliverGong_0-1642189591402.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Then the rest of the thing could be dealing with the iteration loop for its ID array, and following the same logic to distinguish the different pages.&lt;/P&gt;</description>
      <pubDate>Fri, 14 Jan 2022 19:55:37 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/333881#M231550</guid>
      <dc:creator>OliverGong</dc:creator>
      <dc:date>2022-01-14T19:55:37Z</dc:date>
    </item>
    <item>
      <title>Re: Extract field from flow files to comma separated batches</title>
      <link>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/334216#M231653</link>
      <description>&lt;P&gt;For others that stumble across this.. I ended up delving into scripting processors and implemented a script that does the batching:&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="javascript"&gt;var IOUtils = Java.type("org.apache.commons.io.IOUtils")
var StandardCharsets = Java.type("java.nio.charset.StandardCharsets")

// Grab 50 flow files from the input queue (or whatever's available)
flowFileList = session.get(50)
if(!flowFileList.isEmpty()) {
	
	var ids = [];
	for each (var flowFile in flowFileList) { 
		var InputStreamCallback =  Java.type("org.apache.nifi.processor.io.InputStreamCallback")

		// Create a new InputStreamCallback, passing in a function to define the interface method
		session.read(flowFile, new InputStreamCallback(function(inputStream) {
			// Get the JSON out of the flowfile and conver to a JS object
			var text = IOUtils.toString(inputStream, StandardCharsets.UTF_8);
			var obj = JSON.parse(text);
			if (obj.hasOwnProperty('SourceDataElementValue')) {
				ids.push(obj.SourceDataElementValue);
			}
			// Do something with text here
		}));
		
		// Eat the flowfile after the TML ID is extracted.
		session.remove(flowFile);
	}
	
	if (ids.length &amp;gt; 0) {
		attributeValue = ids.join();
		outputFlowFile = session.create();
		outputFlowFile = session.putAttribute(outputFlowFile, 'tml_list', attributeValue);
		session.transfer(outputFlowFile, REL_SUCCESS)
	}
}&lt;/LI-CODE&gt;</description>
      <pubDate>Wed, 19 Jan 2022 15:51:53 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Support-Questions/Extract-field-from-flow-files-to-comma-separated-batches/m-p/334216#M231653</guid>
      <dc:creator>ELadner</dc:creator>
      <dc:date>2022-01-19T15:51:53Z</dc:date>
    </item>
  </channel>
</rss>

