<?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 Apache Nifi QueryRecord based on FlowFile attribute in Support Questions</title>
    <link>https://community.cloudera.com/t5/Support-Questions/Apache-Nifi-QueryRecord-based-on-FlowFile-attribute/m-p/310093#M224022</link>
    <description>&lt;P&gt;&lt;SPAN&gt;I'm using&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;CaptureChangeMySQL&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;Processor to capture MySQL event data. for the&amp;nbsp;&lt;/SPAN&gt;update&lt;SPAN&gt;&amp;nbsp;event I got the following data in my FlowFile.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;PRE&gt;{
  "type" : "&lt;SPAN class="hljs-keyword"&gt;update&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;",
  "&lt;/SPAN&gt;&lt;SPAN class="hljs-built_in"&gt;timestamp&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : 1610120620000,
  "&lt;/SPAN&gt;binlog_filename&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;delta&lt;SPAN class="hljs-number"&gt;.000002&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;",
  "&lt;/SPAN&gt;binlog_position&lt;SPAN class="hljs-string"&gt;" : 1943,
  "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;database&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;test&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;",
  "&lt;/SPAN&gt;table_name&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;Employee&lt;SPAN class="hljs-string"&gt;",
  "&lt;/SPAN&gt;table_id&lt;SPAN class="hljs-string"&gt;" : 92,
  "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;columns&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : [ {
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;id&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : 1,
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;name&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;id&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;",
    "&lt;/SPAN&gt;column_type&lt;SPAN class="hljs-string"&gt;" : 4,
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;last_value&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : 1,
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;value&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : 1
  }, {
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;id&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : 2,
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;name&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;Name&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;",
    "&lt;/SPAN&gt;column_type&lt;SPAN class="hljs-string"&gt;" : 12,
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;last_value&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;Khalid&lt;SPAN class="hljs-string"&gt;",
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;value&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;John&lt;SPAN class="hljs-string"&gt;"
  }, {
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;id&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : 3,
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;name&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;Email&lt;SPAN class="hljs-string"&gt;",
    "&lt;/SPAN&gt;column_type&lt;SPAN class="hljs-string"&gt;" : 12,
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;last_value&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;lacus.varius@utsem.net&lt;SPAN class="hljs-string"&gt;",
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;value&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;lacus.varius@utsem.net&lt;SPAN class="hljs-string"&gt;"
  }, {
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;id&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : 4,
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;name&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;City&lt;SPAN class="hljs-string"&gt;",
    "&lt;/SPAN&gt;column_type&lt;SPAN class="hljs-string"&gt;" : 12,
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;last_value&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;Luziânia&lt;SPAN class="hljs-string"&gt;",
    "&lt;/SPAN&gt;&lt;SPAN class="hljs-keyword"&gt;value&lt;/SPAN&gt;&lt;SPAN class="hljs-string"&gt;" : "&lt;/SPAN&gt;Luziânia&lt;SPAN class="hljs-string"&gt;"
  } ]
}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/PRE&gt;&lt;P&gt;then I'm using&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;EvaluateJsonPath&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Processor to add attributes like&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;event_type,timestamp,table_name,value of column name id&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;then I want to use the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;RouteOnAttribute&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;processor to query other tables apart from the set attribute name (table_name) to merge all records in a single JSON that has the same id.&lt;/P&gt;&lt;HR /&gt;&lt;P&gt;Now the main problem is that if more tables updated at the same time it will generate extra record(which is completely useless also it will query other tables multiple times)&lt;/P&gt;&lt;P&gt;So, I decided to use&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;QueryRecord&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Processor and Set&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;Run Schedule&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;at 2-5 minutes.&lt;/P&gt;&lt;P&gt;Now I want to Query FlowFiles like&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;SELECT * FROM FLOWFILES WHERE '$.timestamp' = (SELECT MAX('$.timestamp') FROM FLOWFILE) GROUP BY '$.id'&lt;/LI-CODE&gt;&lt;P&gt;&lt;STRONG&gt;It means It will fetch those flow files which has a unique id and Maximum timestamp value.&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;this query is not working. so how can I use attributes in the&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;STRONG&gt;QueryRecord&lt;/STRONG&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;Processor to achieve this scenario? or is there any better way to handle this?&lt;/P&gt;</description>
    <pubDate>Wed, 20 Jan 2021 10:54:44 GMT</pubDate>
    <dc:creator>Achyut</dc:creator>
    <dc:date>2021-01-20T10:54:44Z</dc:date>
  </channel>
</rss>

