<?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 Nifi executeSQL processor streaming capability in Archives of Support Questions (Read Only)</title>
    <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Nifi-executeSQL-processor-streaming-capability/m-p/97866#M11385</link>
    <description>&lt;P&gt;Is the executeSQL processor able to leverage streaming capability of a JDBC driver level 4 or 5. This is quite important for us as if not it would mean that Nifi is not able 
to get data in small batches that are processed progressively and that it needs to receive the whole dataset before going to processing.
e.g: if we are extracting 1 Million records we need to wait for the whole dataset to arrive to do any processing instead of receiving small batch of 10 records or 100 records that we process and 
stream to the final location.&lt;/P&gt;</description>
    <pubDate>Fri, 04 Dec 2015 13:39:57 GMT</pubDate>
    <dc:creator>yjiang</dc:creator>
    <dc:date>2015-12-04T13:39:57Z</dc:date>
    <item>
      <title>Nifi executeSQL processor streaming capability</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Nifi-executeSQL-processor-streaming-capability/m-p/97866#M11385</link>
      <description>&lt;P&gt;Is the executeSQL processor able to leverage streaming capability of a JDBC driver level 4 or 5. This is quite important for us as if not it would mean that Nifi is not able 
to get data in small batches that are processed progressively and that it needs to receive the whole dataset before going to processing.
e.g: if we are extracting 1 Million records we need to wait for the whole dataset to arrive to do any processing instead of receiving small batch of 10 records or 100 records that we process and 
stream to the final location.&lt;/P&gt;</description>
      <pubDate>Fri, 04 Dec 2015 13:39:57 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Nifi-executeSQL-processor-streaming-capability/m-p/97866#M11385</guid>
      <dc:creator>yjiang</dc:creator>
      <dc:date>2015-12-04T13:39:57Z</dc:date>
    </item>
    <item>
      <title>Re: Nifi executeSQL processor streaming capability</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Nifi-executeSQL-processor-streaming-capability/m-p/97867#M11386</link>
      <description>&lt;P&gt;Looking at the ExecuteSQL code &lt;A href="https://raw.githubusercontent.com/apache/nifi/8a8006085190aae1125c883f2aab16a4ada9beb8/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteSQL.java"&gt;here&lt;/A&gt;. The capability description reads - &lt;/P&gt;&lt;PRE&gt;@CapabilityDescription("Execute provided SQL select query. Query result will be converted to Avro format." + " Streaming is used so arbitrarily large result sets are supported. This processor can be scheduled to run on " + "a timer, or cron expression, using the standard scheduling methods, or it can be triggered by an incoming FlowFile. " + "If it is triggered by an incoming FlowFile, then attributes of that FlowFile will be available when evaluating the " + "select query. " + "FlowFile attribute 'executesql.row.count' indicates how many rows were selected." )&lt;/PRE&gt;&lt;P&gt;Even though above para says - "Streaming is used so arbitrarily large result sets are supported." , it appears that its not referring to the JDBC streaming but the fact that ResultSet is broken down into smaller tuples and sent to next processor as stream. &lt;/P&gt;&lt;P&gt;Here is the snippet of Code to back that assessment - &lt;/P&gt;&lt;A href="https://github.com/apache/nifi/blob/8a8006085190aae1125c883f2aab16a4ada9beb8/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteSQL.java#L152-L159"&gt;Query Execution in ExecuteSQL and call to JDBCCommon.&lt;/A&gt;&lt;P&gt;&lt;A href="https://github.com/apache/nifi/blob/8a8006085190aae1125c883f2aab16a4ada9beb8/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/ExecuteSQL.java#L152-L159"&gt;convertToAvroStream&lt;/A&gt; -&amp;gt; &lt;/P&gt;&lt;A href="https://github.com/apache/nifi/blob/8d2f9bc64b03702f4db53de6ac741ce102413bfa/nifi-nar-bundles/nifi-standard-bundle/nifi-standard-processors/src/main/java/org/apache/nifi/processors/standard/util/JdbcCommon.java#L84-L85"&gt;convertToAvroStream method reading data using getObject method &lt;/A&gt;&lt;P&gt;The getObject method does not seem to support streaming alternative like getAscii etc as described here - &lt;A href="https://docs.oracle.com/cd/B28359_01/java.111/b31224/jstreams.htm"&gt;https://docs.oracle.com/cd/B28359_01/java.111/b312...&lt;/A&gt;&lt;/P&gt;</description>
      <pubDate>Sat, 05 Dec 2015 02:23:46 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Nifi-executeSQL-processor-streaming-capability/m-p/97867#M11386</guid>
      <dc:creator>bsaini</dc:creator>
      <dc:date>2015-12-05T02:23:46Z</dc:date>
    </item>
    <item>
      <title>Re: Nifi executeSQL processor streaming capability</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Nifi-executeSQL-processor-streaming-capability/m-p/97868#M11387</link>
      <description>&lt;P&gt;@yjiang right now there is no ability to send out partial result sets. All of the results from a single query are written to the same FlowFile. There is, however, a ticket to enable what you are discussing here. &lt;A href="https://issues.apache.org/jira/browse/NIFI-1251" target="_blank"&gt;https://issues.apache.org/jira/browse/NIFI-1251&lt;/A&gt; Please check out the ticket and confirm that this is the same idea that you are suggesting here, or let me know if that's not the same idea.&lt;/P&gt;</description>
      <pubDate>Sat, 05 Dec 2015 02:27:43 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Nifi-executeSQL-processor-streaming-capability/m-p/97868#M11387</guid>
      <dc:creator>mpayne</dc:creator>
      <dc:date>2015-12-05T02:27:43Z</dc:date>
    </item>
    <item>
      <title>Re: Nifi executeSQL processor streaming capability</title>
      <link>https://community.cloudera.com/t5/Archives-of-Support-Questions/Nifi-executeSQL-processor-streaming-capability/m-p/97869#M11388</link>
      <description>&lt;P&gt;This is exactly what we want.&lt;/P&gt;</description>
      <pubDate>Wed, 09 Dec 2015 17:51:09 GMT</pubDate>
      <guid>https://community.cloudera.com/t5/Archives-of-Support-Questions/Nifi-executeSQL-processor-streaming-capability/m-p/97869#M11388</guid>
      <dc:creator>yjiang</dc:creator>
      <dc:date>2015-12-09T17:51:09Z</dc:date>
    </item>
  </channel>
</rss>

