You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@nifi.apache.org by jo...@apache.org on 2020/03/22 13:18:21 UTC

svn commit: r1875518 [36/48] - in /nifi/site/trunk/docs/nifi-docs: ./ components/org.apache.nifi/nifi-ambari-nar/1.11.4/ components/org.apache.nifi/nifi-ambari-nar/1.11.4/org.apache.nifi.reporting.ambari.AmbariReportingTask/ components/org.apache.nifi/...

Added: nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FetchFTP/index.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FetchFTP/index.html?rev=1875518&view=auto
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FetchFTP/index.html (added)
+++ nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FetchFTP/index.html Sun Mar 22 13:18:15 2020
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>FetchFTP</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">FetchFTP</h1><h2>Description: </h2><p>Fetches the content of a file from a remote SFTP server and overwrites the contents of an incoming FlowFile with the content of the remote file.</p><h3>Tags: </h3><p>ftp, get, retrieve, files, fetch, remote, ingest, source, input</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>, a
 nd whether a property is considered "sensitive", meaning that its value will be encrypted. Before entering a value in a sensitive property, ensure that the <strong>nifi.properties</strong> file has an entry for the property <strong>nifi.sensitive.props.key</strong>.</p><table id="properties"><tr><th>Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Hostname</strong></td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The fully-qualified hostname or IP address of the host to fetch the data from<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Port</strong></td><td id="default-value">21</td><td id="allowable-values"></td><td id="description">The port to connect to on the remote host to fetch the data from<br/><strong>Supports Expression Language: true (will be evaluated using flow file at
 tributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Username</strong></td><td id="default-value"></td><td id="allowable-values"></td><td id="description">Username<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Password</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">Password for the user account<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Remote File</strong></td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The fully qualified filename on the remote system<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Completion Str
 ategy</strong></td><td id="default-value">None</td><td id="allowable-values"><ul><li>None <img src="../../../../../html/images/iconInfo.png" alt="Leave the file as-is" title="Leave the file as-is"></img></li><li>Move File <img src="../../../../../html/images/iconInfo.png" alt="Move the file to the directory specified by the &lt;Move Destination Directory&gt; property" title="Move the file to the directory specified by the &lt;Move Destination Directory&gt; property"></img></li><li>Delete File <img src="../../../../../html/images/iconInfo.png" alt="Deletes the original file from the remote system" title="Deletes the original file from the remote system"></img></li></ul></td><td id="description">Specifies what to do with the original file on the server once it has been pulled into NiFi. If the Completion Strategy fails, a warning will be logged but the data will still be transferred.</td></tr><tr><td id="name">Move Destination Directory</td><td id="default-value"></td><td id="allowabl
 e-values"></td><td id="description">The directory on the remote server to move the original file to once it has been ingested into NiFi. This property is ignored unless the Completion Strategy is set to 'Move File'. The specified directory must already exist on the remote system if 'Create Directory' is disabled, or the rename will fail.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Create Directory</td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Used when 'Completion Strategy' is 'Move File'. Specifies whether or not the remote directory should be created if it does not exist.</td></tr><tr><td id="name"><strong>Connection Timeout</strong></td><td id="default-value">30 sec</td><td id="allowable-values"></td><td id="description">Amount of time to wait before timing out while creating a connection</td></t
 r><tr><td id="name"><strong>Data Timeout</strong></td><td id="default-value">30 sec</td><td id="allowable-values"></td><td id="description">When transferring a file between the local and remote system, this value specifies how long is allowed to elapse without any data being transferred between systems</td></tr><tr><td id="name"><strong>Use Compression</strong></td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Indicates whether or not ZLIB compression should be used when transferring files</td></tr><tr><td id="name">Connection Mode</td><td id="default-value">Passive</td><td id="allowable-values"><ul><li>Active</li><li>Passive</li></ul></td><td id="description">The FTP Connection Mode</td></tr><tr><td id="name">Transfer Mode</td><td id="default-value">Binary</td><td id="allowable-values"><ul><li>Binary</li><li>ASCII</li></ul></td><td id="description">The FTP Transfer Mode</td></tr><tr><td id="name">Proxy Confi
 guration Service</td><td id="default-value"></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>ProxyConfigurationService<br/><strong>Implementation: </strong><a href="../../../nifi-proxy-configuration-nar/1.11.4/org.apache.nifi.proxy.StandardProxyConfigurationService/index.html">StandardProxyConfigurationService</a></td><td id="description">Specifies the Proxy Configuration Controller Service to proxy network requests. If set, it supersedes proxy settings configured per component. Supported proxies: HTTP + AuthN, SOCKS</td></tr><tr><td id="name">Proxy Type</td><td id="default-value">DIRECT</td><td id="allowable-values"><ul><li>DIRECT</li><li>HTTP</li><li>SOCKS</li></ul></td><td id="description">Proxy type used for file transfers</td></tr><tr><td id="name">Proxy Host</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The fully qualified hostname or IP address of the proxy server<br/><strong>Supports Expression Language: true 
 (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Proxy Port</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The port of the proxy server<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Http Proxy Username</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">Http Proxy Username<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Http Proxy Password</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">Http Proxy Password<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Internal Buffer Size</td><td id="default-value">16KB</td><td id="allowable-values"></td><td id="de
 scription">Set the internal buffer size for buffered data streams</td></tr><tr><td id="name"><strong>Log level when file not found</strong></td><td id="default-value">ERROR</td><td id="allowable-values"><ul><li>TRACE</li><li>DEBUG</li><li>INFO</li><li>WARN</li><li>ERROR</li><li>FATAL</li><li>NONE</li></ul></td><td id="description">Log level to use in case the file does not exist when the processor is triggered</td></tr></table><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>All FlowFiles that are received are routed to success</td></tr><tr><td>comms.failure</td><td>Any FlowFile that could not be fetched from the remote server due to a communications failure will be transferred to this Relationship.</td></tr><tr><td>not.found</td><td>Any FlowFile for which we receive a 'Not Found' message from the remote server will be transferred to this Relationship.</td></tr><tr><td>permission.denied</td><td>Any FlowFile that coul
 d not be fetched from the remote server due to insufficient permissions will be transferred to this Relationship.</td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3><table id="writes-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>ftp.remote.host</td><td>The hostname or IP address from which the file was pulled</td></tr><tr><td>ftp.remote.port</td><td>The port that was used to communicate with the remote FTP server</td></tr><tr><td>ftp.remote.filename</td><td>The name of the remote file that was pulled</td></tr><tr><td>filename</td><td>The filename is updated to point to the filename fo the remote file</td></tr><tr><td>path</td><td>If the Remote File contains a directory name, that directory name will be added to the FlowFile using the 'path' attribute</td></tr></table><h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>Input requirement: </h3>This component require
 s an incoming relationship.<h3>System Resource Considerations:</h3>None specified.<h3>See Also:</h3><p><a href="../org.apache.nifi.processors.standard.GetSFTP/index.html">GetSFTP</a>, <a href="../org.apache.nifi.processors.standard.PutSFTP/index.html">PutSFTP</a>, <a href="../org.apache.nifi.processors.standard.GetFTP/index.html">GetFTP</a>, <a href="../org.apache.nifi.processors.standard.PutFTP/index.html">PutFTP</a></p></body></html>
\ No newline at end of file

Added: nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FetchFile/index.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FetchFile/index.html?rev=1875518&view=auto
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FetchFile/index.html (added)
+++ nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FetchFile/index.html Sun Mar 22 13:18:15 2020
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>FetchFile</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">FetchFile</h1><h2>Description: </h2><p>Reads the contents of a file from disk and streams it into the contents of an incoming FlowFile. Once this is done, the file is optionally moved elsewhere or deleted to help keep the file system organized.</p><h3>Tags: </h3><p>local, files, filesystem, ingest, ingress, get, source, input, fetch</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the <a href="../../../..
 /../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properties"><tr><th>Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>File to Fetch</strong></td><td id="default-value">${absolute.path}/${filename}</td><td id="allowable-values"></td><td id="description">The fully-qualified filename of the file to fetch from the file system<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Completion Strategy</strong></td><td id="default-value">None</td><td id="allowable-values"><ul><li>None <img src="../../../../../html/images/iconInfo.png" alt="Leave the file as-is" title="Leave the file as-is"></img></li><li>Move File <img src="../../../../../html/images/iconInfo.png" alt="Moves the file to the directory specified by the &lt;Move Destination Directory&gt; property" title="Moves the file to the dire
 ctory specified by the &lt;Move Destination Directory&gt; property"></img></li><li>Delete File <img src="../../../../../html/images/iconInfo.png" alt="Deletes the original file from the file system" title="Deletes the original file from the file system"></img></li></ul></td><td id="description">Specifies what to do with the original file on the file system once it has been pulled into NiFi</td></tr><tr><td id="name">Move Destination Directory</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The directory to the move the original file to once it has been fetched from the file system. This property is ignored unless the Completion Strategy is set to "Move File". If the directory does not exist, it will be created.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Move Conflict Strategy</strong></td><td id="default-value">Rename</td><td id="al
 lowable-values"><ul><li>Rename <img src="../../../../../html/images/iconInfo.png" alt="The existing destination file should remain intact. The newly ingested file should be moved to the destination directory but be renamed to a random filename" title="The existing destination file should remain intact. The newly ingested file should be moved to the destination directory but be renamed to a random filename"></img></li><li>Replace File <img src="../../../../../html/images/iconInfo.png" alt="The newly ingested file should replace the existing file in the Destination Directory" title="The newly ingested file should replace the existing file in the Destination Directory"></img></li><li>Keep Existing <img src="../../../../../html/images/iconInfo.png" alt="The existing file should in the Destination Directory should stay intact and the newly ingested file should be deleted" title="The existing file should in the Destination Directory should stay intact and the newly ingested file should be
  deleted"></img></li><li>Fail <img src="../../../../../html/images/iconInfo.png" alt="The existing destination file should remain intact and the incoming FlowFile should be routed to failure" title="The existing destination file should remain intact and the incoming FlowFile should be routed to failure"></img></li></ul></td><td id="description">If Completion Strategy is set to Move File and a file already exists in the destination directory with the same name, this property specifies how that naming conflict should be resolved</td></tr><tr><td id="name"><strong>Log level when file not found</strong></td><td id="default-value">ERROR</td><td id="allowable-values"><ul><li>TRACE</li><li>DEBUG</li><li>INFO</li><li>WARN</li><li>ERROR</li><li>FATAL</li><li>NONE</li></ul></td><td id="description">Log level to use in case the file does not exist when the processor is triggered</td></tr><tr><td id="name"><strong>Log level when permission denied</strong></td><td id="default-value">ERROR</td><t
 d id="allowable-values"><ul><li>TRACE</li><li>DEBUG</li><li>INFO</li><li>WARN</li><li>ERROR</li><li>FATAL</li><li>NONE</li></ul></td><td id="description">Log level to use in case user jwitt does not have sufficient permissions to read the file</td></tr></table><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>Any FlowFile that is successfully fetched from the file system will be transferred to this Relationship.</td></tr><tr><td>not.found</td><td>Any FlowFile that could not be fetched from the file system because the file could not be found will be transferred to this Relationship.</td></tr><tr><td>permission.denied</td><td>Any FlowFile that could not be fetched from the file system due to the user running NiFi not having sufficient permissions will be transferred to this Relationship.</td></tr><tr><td>failure</td><td>Any FlowFile that could not be fetched from the file system for any reason other than insufficient pe
 rmissions or the file not existing will be transferred to this Relationship.</td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3>None specified.<h3>State management: </h3>This component does not store state.<h3>Restricted: </h3><table id="restrictions"><tr><th>Required Permission</th><th>Explanation</th></tr><tr><td>read filesystem</td><td>Provides operator the ability to read from any file that NiFi has access to.</td></tr><tr><td>write filesystem</td><td>Provides operator the ability to delete any file that NiFi has access to.</td></tr></table><h3>Input requirement: </h3>This component requires an incoming relationship.<h3>System Resource Considerations:</h3>None specified.<h3>See Also:</h3><p><a href="../org.apache.nifi.processors.standard.GetFile/index.html">GetFile</a>, <a href="../org.apache.nifi.processors.standard.PutFile/index.html">PutFile</a>, <a href="../org.apache.nifi.processors.standard.ListFile/index.html">ListFile</a></p></body></h
 tml>
\ No newline at end of file

Added: nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FetchSFTP/index.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FetchSFTP/index.html?rev=1875518&view=auto
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FetchSFTP/index.html (added)
+++ nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FetchSFTP/index.html Sun Mar 22 13:18:15 2020
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>FetchSFTP</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">FetchSFTP</h1><h2>Description: </h2><p>Fetches the content of a file from a remote SFTP server and overwrites the contents of an incoming FlowFile with the content of the remote file.</p><h3>Tags: </h3><p>sftp, get, retrieve, files, fetch, remote, ingest, source, input</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>
 , and whether a property is considered "sensitive", meaning that its value will be encrypted. Before entering a value in a sensitive property, ensure that the <strong>nifi.properties</strong> file has an entry for the property <strong>nifi.sensitive.props.key</strong>.</p><table id="properties"><tr><th>Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Hostname</strong></td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The fully-qualified hostname or IP address of the host to fetch the data from<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Port</strong></td><td id="default-value">22</td><td id="allowable-values"></td><td id="description">The port to connect to on the remote host to fetch the data from<br/><strong>Supports Expression Language: true (will be evaluated using flow file
  attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Username</strong></td><td id="default-value"></td><td id="allowable-values"></td><td id="description">Username<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Password</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">Password for the user account<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Private Key Path</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The fully qualified path to the Private Key file<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Private Key Passphrase</td><td i
 d="default-value"></td><td id="allowable-values"></td><td id="description">Password for the private key<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Remote File</strong></td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The fully qualified filename on the remote system<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Completion Strategy</strong></td><td id="default-value">None</td><td id="allowable-values"><ul><li>None <img src="../../../../../html/images/iconInfo.png" alt="Leave the file as-is" title="Leave the file as-is"></img></li><li>Move File <img src="../../../../../html/images/iconInfo.png" alt="Move the file to the directory specified by the &lt;Move Destination Directory&g
 t; property" title="Move the file to the directory specified by the &lt;Move Destination Directory&gt; property"></img></li><li>Delete File <img src="../../../../../html/images/iconInfo.png" alt="Deletes the original file from the remote system" title="Deletes the original file from the remote system"></img></li></ul></td><td id="description">Specifies what to do with the original file on the server once it has been pulled into NiFi. If the Completion Strategy fails, a warning will be logged but the data will still be transferred.</td></tr><tr><td id="name">Move Destination Directory</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The directory on the remote server to move the original file to once it has been ingested into NiFi. This property is ignored unless the Completion Strategy is set to 'Move File'. The specified directory must already exist on the remote system if 'Create Directory' is disabled, or the rename will fail.<br/><strong>Suppor
 ts Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Create Directory</td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Used when 'Completion Strategy' is 'Move File'. Specifies whether or not the remote directory should be created if it does not exist.</td></tr><tr><td id="name">Disable Directory Listing</td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Control how 'Move Destination Directory' is created when 'Completion Strategy' is 'Move File' and 'Create Directory' is enabled. If set to 'true', directory listing is not performed prior to create missing directories. By default, this processor executes a directory listing command to see target directory existence before creating missing directories. However, there are situations that you might need to di
 sable the directory listing such as the following. Directory listing might fail with some permission setups (e.g. chmod 100) on a directory. Also, if any other SFTP client created the directory after this processor performed a listing and before a directory creation request by this processor is finished, then an error is returned because the directory already exists.</td></tr><tr><td id="name"><strong>Connection Timeout</strong></td><td id="default-value">30 sec</td><td id="allowable-values"></td><td id="description">Amount of time to wait before timing out while creating a connection</td></tr><tr><td id="name"><strong>Data Timeout</strong></td><td id="default-value">30 sec</td><td id="allowable-values"></td><td id="description">When transferring a file between the local and remote system, this value specifies how long is allowed to elapse without any data being transferred between systems</td></tr><tr><td id="name"><strong>Send Keep Alive On Timeout</strong></td><td id="default-val
 ue">true</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Indicates whether or not to send a single Keep Alive message when SSH socket times out</td></tr><tr><td id="name">Host Key File</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">If supplied, the given file will be used as the Host Key; otherwise, if 'Strict Host Key Checking' property is applied (set to true) then uses the 'known_hosts' and 'known_hosts2' files from ~/.ssh directory else no host key file will be used</td></tr><tr><td id="name"><strong>Strict Host Key Checking</strong></td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Indicates whether or not strict enforcement of hosts keys should be applied</td></tr><tr><td id="name"><strong>Use Compression</strong></td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id=
 "description">Indicates whether or not ZLIB compression should be used when transferring files</td></tr><tr><td id="name">Proxy Configuration Service</td><td id="default-value"></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>ProxyConfigurationService<br/><strong>Implementation: </strong><a href="../../../nifi-proxy-configuration-nar/1.11.4/org.apache.nifi.proxy.StandardProxyConfigurationService/index.html">StandardProxyConfigurationService</a></td><td id="description">Specifies the Proxy Configuration Controller Service to proxy network requests. If set, it supersedes proxy settings configured per component. Supported proxies: HTTP + AuthN, SOCKS + AuthN</td></tr><tr><td id="name">Proxy Type</td><td id="default-value">DIRECT</td><td id="allowable-values"><ul><li>DIRECT</li><li>HTTP</li><li>SOCKS</li></ul></td><td id="description">Proxy type used for file transfers</td></tr><tr><td id="name">Proxy Host</td><td id="default-value"></td><td id="allowable-val
 ues"></td><td id="description">The fully qualified hostname or IP address of the proxy server<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Proxy Port</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The port of the proxy server<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Http Proxy Username</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">Http Proxy Username<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name">Http Proxy Password</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">Http Proxy Password<br/><strong>Sensitive Property: true</strong><br/><strong>Supports Expression Language: true (will be evaluated using variable registry
  only)</strong></td></tr><tr><td id="name"><strong>Log level when file not found</strong></td><td id="default-value">ERROR</td><td id="allowable-values"><ul><li>TRACE</li><li>DEBUG</li><li>INFO</li><li>WARN</li><li>ERROR</li><li>FATAL</li><li>NONE</li></ul></td><td id="description">Log level to use in case the file does not exist when the processor is triggered</td></tr></table><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>All FlowFiles that are received are routed to success</td></tr><tr><td>comms.failure</td><td>Any FlowFile that could not be fetched from the remote server due to a communications failure will be transferred to this Relationship.</td></tr><tr><td>not.found</td><td>Any FlowFile for which we receive a 'Not Found' message from the remote server will be transferred to this Relationship.</td></tr><tr><td>permission.denied</td><td>Any FlowFile that could not be fetched from the remote server due to ins
 ufficient permissions will be transferred to this Relationship.</td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3><table id="writes-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>sftp.remote.host</td><td>The hostname or IP address from which the file was pulled</td></tr><tr><td>sftp.remote.port</td><td>The port that was used to communicate with the remote SFTP server</td></tr><tr><td>sftp.remote.filename</td><td>The name of the remote file that was pulled</td></tr><tr><td>filename</td><td>The filename is updated to point to the filename fo the remote file</td></tr><tr><td>path</td><td>If the Remote File contains a directory name, that directory name will be added to the FlowFile using the 'path' attribute</td></tr></table><h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>Input requirement: </h3>This component requires an incoming relationship.<h3>System Resource
  Considerations:</h3>None specified.<h3>See Also:</h3><p><a href="../org.apache.nifi.processors.standard.GetSFTP/index.html">GetSFTP</a>, <a href="../org.apache.nifi.processors.standard.PutSFTP/index.html">PutSFTP</a>, <a href="../org.apache.nifi.processors.standard.GetFTP/index.html">GetFTP</a>, <a href="../org.apache.nifi.processors.standard.PutFTP/index.html">PutFTP</a></p></body></html>
\ No newline at end of file

Added: nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FlattenJson/index.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FlattenJson/index.html?rev=1875518&view=auto
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FlattenJson/index.html (added)
+++ nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.FlattenJson/index.html Sun Mar 22 13:18:15 2020
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>FlattenJson</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">FlattenJson</h1><h2>Description: </h2><p>Provides the user with the ability to take a nested JSON document and flatten it into a simple key/value pair document. The keys are combined at each level with a user-defined separator that defaults to '.'. Support three kinds of flatten mode, normal, keep-arrays and dot notation for MongoDB query. Default flatten mode is 'keep-arrays'.</p><h3>Tags: </h3><p>json, flatten</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also ind
 icates any default values, and whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properties"><tr><th>Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name">Separator</td><td id="default-value">.</td><td id="allowable-values"></td><td id="description">The separator character used for joining keys. Must be a JSON-legal character.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Flatten Mode</strong></td><td id="default-value">keep arrays</td><td id="allowable-values"><ul><li>normal <img src="../../../../../html/images/iconInfo.png" alt="Flattens every objects into a single level json" title="Flattens every objects into a single level json"></img></li><li>keep arrays <img src="../../../../../html/images/iconInfo.png" alt="Flattens every objects and
  keep arrays format" title="Flattens every objects and keep arrays format"></img></li><li>dot notation <img src="../../../../../html/images/iconInfo.png" alt="Conforms to MongoDB dot notation to update also nested documents" title="Conforms to MongoDB dot notation to update also nested documents"></img></li></ul></td><td id="description">Specifies how json is flattened</td></tr></table><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>Successfully flattened files go to this relationship.</td></tr><tr><td>failure</td><td>Files that cannot be flattened go to this relationship.</td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3>None specified.<h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>System Resource Considerations:</h3>None specified.</body></html>
\ No newline at end of file

Added: nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.ForkRecord/additionalDetails.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.ForkRecord/additionalDetails.html?rev=1875518&view=auto
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.ForkRecord/additionalDetails.html (added)
+++ nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.ForkRecord/additionalDetails.html Sun Mar 22 13:18:15 2020
@@ -0,0 +1,481 @@
+<!DOCTYPE html>
+<html lang="en">
+    <!--
+      Licensed to the Apache Software Foundation (ASF) under one or more
+      contributor license agreements.  See the NOTICE file distributed with
+      this work for additional information regarding copyright ownership.
+      The ASF licenses this file to You under the Apache License, Version 2.0
+      (the "License"); you may not use this file except in compliance with
+      the License.  You may obtain a copy of the License at
+          http://www.apache.org/licenses/LICENSE-2.0
+      Unless required by applicable law or agreed to in writing, software
+      distributed under the License is distributed on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+      See the License for the specific language governing permissions and
+      limitations under the License.
+    -->
+    <head>
+        <meta charset="utf-8" />
+        <title>ForkRecord</title>
+
+        <link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css" />
+    </head>
+
+    <body>
+    	<p>
+    		ForkRecord allows the user to fork a record into multiple records. To do that, the user must specify
+    		one or multiple <a href="../../../../../html/record-path-guide.html">RecordPath</a> (as dynamic 
+    		properties of the processor) pointing to a field of type ARRAY containing RECORD elements.
+    	</p>
+    	<p>
+    		The processor accepts two modes:
+    		<ul>
+	    		<li>Split mode - in this mode, the generated records will have the same schema as the input. For 
+	    		every element in the array, one record will be generated and the array will only contain this 
+	    		element.</li>
+	    		<li>Extract mode - in this mode, the generated records will be the elements contained in the array. 
+	    		Besides, it is also possible to add in each record all the fields of the parent records from the root 
+	    		level to the record element being forked. However it supposes the fields to add are defined in the 
+	    		schema of the Record Writer controller service. </li>
+    		</ul>
+    	</p>
+    	
+    	<h2>Examples</h2>
+    	
+    	<h3>EXTRACT mode</h3>
+    	
+    	<p>
+    		To better understand how this Processor works, we will lay out a few examples. For the sake of these examples, let's assume that our input
+    		data is JSON formatted and looks like this:
+    	</p>
+
+<code>
+<pre>
+[{
+	"id": 1,
+	"name": "John Doe",
+	"address": "123 My Street",
+	"city": "My City", 
+	"state": "MS",
+	"zipCode": "11111",
+	"country": "USA",
+	"accounts": [{
+		"id": 42,
+		"balance": 4750.89
+	}, {
+		"id": 43,
+		"balance": 48212.38
+	}]
+}, 
+{
+	"id": 2,
+	"name": "Jane Doe",
+	"address": "345 My Street",
+	"city": "Her City", 
+	"state": "NY",
+	"zipCode": "22222",
+	"country": "USA",
+	"accounts": [{
+		"id": 45,
+		"balance": 6578.45
+	}, {
+		"id": 46,
+		"balance": 34567.21
+	}]
+}]
+</pre>
+</code>
+
+
+    	<h4>Example 1 - Extracting without parent fields</h4>
+    	
+    	<p>
+    		For this case, we want to create one record per <code>account</code> and we don't care about 
+    		the other fields. We'll add a dynamic property "path" set to <code>/accounts</code>. The resulting 
+    		flow file will contain 4 records and will look like (assuming the Record Writer schema is correctly set):
+    	</p>
+
+<code>
+<pre>
+[{
+	"id": 42,
+	"balance": 4750.89
+}, {
+	"id": 43,
+	"balance": 48212.38
+}, {
+	"id": 45,
+	"balance": 6578.45
+}, {
+	"id": 46,
+	"balance": 34567.21
+}]
+</pre>
+</code>
+
+    	
+    	<h4>Example 2 - Extracting with parent fields</h4>
+    	
+    	<p>
+    		Now, if we set the property "Include parent fields" to true, this will recursively include 
+    		the parent fields into the output records assuming the Record Writer schema allows it. In 
+    		case multiple fields have the same name (like we have in this example for <code>id</code>), 
+    		the child field will have the priority over all the parent fields sharing the same name. In 
+    		this case, the <code>id</code> of the array <code>accounts</code> will be saved in the 
+    		forked records. The resulting flow file will contain 4 records and will look like:
+    	</p>
+
+<code>
+<pre>
+[{
+	"name": "John Doe",
+	"address": "123 My Street",
+	"city": "My City", 
+	"state": "MS",
+	"zipCode": "11111",
+	"country": "USA",
+	"id": 42,
+	"balance": 4750.89
+}, {
+	"name": "John Doe",
+	"address": "123 My Street",
+	"city": "My City", 
+	"state": "MS",
+	"zipCode": "11111",
+	"country": "USA",
+	"id": 43,
+	"balance": 48212.38
+}, {
+	"name": "Jane Doe",
+	"address": "345 My Street",
+	"city": "Her City", 
+	"state": "NY",
+	"zipCode": "22222",
+	"country": "USA",
+	"id": 45,
+	"balance": 6578.45
+}, {
+	"name": "Jane Doe",
+	"address": "345 My Street",
+	"city": "Her City", 
+	"state": "NY",
+	"zipCode": "22222",
+	"country": "USA",
+	"id": 46,
+	"balance": 34567.21
+}]
+</pre>
+</code>
+    	
+    	
+    	<h4>Example 3 - Multi-nested arrays</h4>
+    	
+    	<p>
+    		Now let's say that the input record contains multi-nested arrays like the below example:
+    	</p>
+
+<code>
+<pre>
+[{
+	"id": 1,
+	"name": "John Doe",
+	"address": "123 My Street",
+	"city": "My City", 
+	"state": "MS",
+	"zipCode": "11111",
+	"country": "USA",
+	"accounts": [{
+		"id": 42,
+		"balance": 4750.89,
+		"transactions": [{
+			"id": 5,
+			"amount": 150.31
+		},
+		{
+			"id": 6,
+			"amount": -15.31
+		}]
+	}, {
+		"id": 43,
+		"balance": 48212.38,
+		"transactions": [{
+			"id": 7,
+			"amount": 36.78
+		},
+		{
+			"id": 8,
+			"amount": -21.34
+		}]
+	}]
+}]
+</pre>
+</code>
+    	
+    	<p>
+    		If we want to have one record per <code>transaction</code> for each <code>account</code>, then 
+    		the Record Path should be set to <code>/accounts[*]/transactions</code>. If we have the following 
+    		schema for our Record Reader:
+    	</p>
+
+<code>
+<pre>
+{
+    "type" : "record",
+    "name" : "bank",
+    "fields" : [ {
+      "name" : "id",
+      "type" : "int"
+    }, {
+      "name" : "name",
+      "type" : "string"
+    }, {
+      "name" : "address",
+      "type" : "string"
+    }, {
+      "name" : "city",
+      "type" : "string"
+    }, {
+      "name" : "state",
+      "type" : "string"
+    }, {
+      "name" : "zipCode",
+      "type" : "string"
+    }, {
+      "name" : "country",
+      "type" : "string"
+    }, {
+      "name" : "accounts",
+      "type" : {
+        "type" : "array",
+        "items" : {
+          "type" : "record",
+          "name" : "accounts",
+          "fields" : [ {
+            "name" : "id",
+            "type" : "int"
+          }, {
+            "name" : "balance",
+            "type" : "double"
+          }, {
+            "name" : "transactions",
+            "type" : {
+              "type" : "array",
+              "items" : {
+                "type" : "record",
+                "name" : "transactions",
+                "fields" : [ {
+                  "name" : "id",
+                  "type" : "int"
+                }, {
+                  "name" : "amount",
+                  "type" : "double"
+                } ]
+              }
+            }
+          } ]
+        }
+      }
+    } ]
+}
+</pre>
+</code>
+    	
+    	<p>
+    		And if we have the following schema for our Record Writer:
+    	</p>
+
+<code>
+<pre>
+{
+    "type" : "record",
+    "name" : "bank",
+    "fields" : [ {
+      "name" : "id",
+      "type" : "int"
+    }, {
+      "name" : "name",
+      "type" : "string"
+    }, {
+      "name" : "address",
+      "type" : "string"
+    }, {
+      "name" : "city",
+      "type" : "string"
+    }, {
+      "name" : "state",
+      "type" : "string"
+    }, {
+      "name" : "zipCode",
+      "type" : "string"
+    }, {
+      "name" : "country",
+      "type" : "string"
+    }, {
+      "name" : "amount",
+      "type" : "double"
+    }, {
+      "name" : "balance",
+      "type" : "double"
+    } ]
+}
+</pre>
+</code>
+    	
+    	<p>
+    		Then, if we include the parent fields, we'll have 4 records as below:
+    	</p>
+
+<code>
+<pre>
+[ {
+  "id" : 5,
+  "name" : "John Doe",
+  "address" : "123 My Street",
+  "city" : "My City",
+  "state" : "MS",
+  "zipCode" : "11111",
+  "country" : "USA",
+  "amount" : 150.31,
+  "balance" : 4750.89
+}, {
+  "id" : 6,
+  "name" : "John Doe",
+  "address" : "123 My Street",
+  "city" : "My City",
+  "state" : "MS",
+  "zipCode" : "11111",
+  "country" : "USA",
+  "amount" : -15.31,
+  "balance" : 4750.89
+}, {
+  "id" : 7,
+  "name" : "John Doe",
+  "address" : "123 My Street",
+  "city" : "My City",
+  "state" : "MS",
+  "zipCode" : "11111",
+  "country" : "USA",
+  "amount" : 36.78,
+  "balance" : 48212.38
+}, {
+  "id" : 8,
+  "name" : "John Doe",
+  "address" : "123 My Street",
+  "city" : "My City",
+  "state" : "MS",
+  "zipCode" : "11111",
+  "country" : "USA",
+  "amount" : -21.34,
+  "balance" : 48212.38
+} ]
+</pre>
+</code>
+    	
+    	<h3>SPLIT mode</h3>
+    	
+	   	<h4>Example</h4>
+    	
+    	<p>
+    		Assuming we have the below data and we added a property "path" set to <code>/accounts</code>:
+    	</p>
+
+<code>
+<pre>
+[{
+	"id": 1,
+	"name": "John Doe",
+	"address": "123 My Street",
+	"city": "My City", 
+	"state": "MS",
+	"zipCode": "11111",
+	"country": "USA",
+	"accounts": [{
+		"id": 42,
+		"balance": 4750.89
+	}, {
+		"id": 43,
+		"balance": 48212.38
+	}]
+}, 
+{
+	"id": 2,
+	"name": "Jane Doe",
+	"address": "345 My Street",
+	"city": "Her City", 
+	"state": "NY",
+	"zipCode": "22222",
+	"country": "USA",
+	"accounts": [{
+		"id": 45,
+		"balance": 6578.45
+	}, {
+		"id": 46,
+		"balance": 34567.21
+	}]
+}]
+</pre>
+</code>
+
+    	<p>
+    		Then we'll get 4 records as below:
+    	</p>
+
+<code>
+<pre>
+[{
+	"id": 1,
+	"name": "John Doe",
+	"address": "123 My Street",
+	"city": "My City", 
+	"state": "MS",
+	"zipCode": "11111",
+	"country": "USA",
+	"accounts": [{
+		"id": 42,
+		"balance": 4750.89
+	}]
+},
+{
+	"id": 1,
+	"name": "John Doe",
+	"address": "123 My Street",
+	"city": "My City", 
+	"state": "MS",
+	"zipCode": "11111",
+	"country": "USA",
+	"accounts": [{
+		"id": 43,
+		"balance": 48212.38
+	}]
+},
+{
+	"id": 2,
+	"name": "Jane Doe",
+	"address": "345 My Street",
+	"city": "Her City", 
+	"state": "NY",
+	"zipCode": "22222",
+	"country": "USA",
+	"accounts": [{
+		"id": 45,
+		"balance": 6578.45
+	}]
+}, 
+{
+	"id": 2,
+	"name": "Jane Doe",
+	"address": "345 My Street",
+	"city": "Her City", 
+	"state": "NY",
+	"zipCode": "22222",
+	"country": "USA",
+	"accounts": [{
+		"id": 46,
+		"balance": 34567.21
+	}]
+}]
+</pre>
+</code>
+
+	</body>
+</html>
\ No newline at end of file

Added: nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.ForkRecord/index.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.ForkRecord/index.html?rev=1875518&view=auto
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.ForkRecord/index.html (added)
+++ nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.ForkRecord/index.html Sun Mar 22 13:18:15 2020
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>ForkRecord</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">ForkRecord</h1><h2>Description: </h2><p>This processor allows the user to fork a record into multiple records. The user must specify at least one Record Path, as a dynamic property, pointing to a field of type ARRAY containing RECORD objects. The processor accepts two modes: 'split' and 'extract'. In both modes, there is one record generated per element contained in the designated array. In the 'split' mode, each generated record will preserve the same schema as given in the input but the array will contain only one element. In the 'extract' mode, the element of the array must be of record type and w
 ill be the generated record. Additionally, in the 'extract' mode, it is possible to specify if each generated record should contain all the fields of the parent records from the root level to the extracted record. This assumes that the fields to add in the record are defined in the schema of the Record Writer controller service. See examples in the additional details documentation of this processor.</p><p><a href="additionalDetails.html">Additional Details...</a></p><h3>Tags: </h3><p>fork, record, content, array, stream, event</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values.</p><table id="properties"><tr><th>Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Record Reader</strong></td><td id="default-value"></td><td id="allowable-values"><strong>Controller Servic
 e API: </strong><br/>RecordReaderFactory<br/><strong>Implementations: </strong><a href="../../../nifi-record-serialization-services-nar/1.11.4/org.apache.nifi.syslog.Syslog5424Reader/index.html">Syslog5424Reader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.11.4/org.apache.nifi.grok.GrokReader/index.html">GrokReader</a><br/><a href="../../../nifi-scripting-nar/1.11.4/org.apache.nifi.record.script.ScriptedReader/index.html">ScriptedReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.11.4/org.apache.nifi.json.JsonTreeReader/index.html">JsonTreeReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.11.4/org.apache.nifi.syslog.SyslogReader/index.html">SyslogReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.11.4/org.apache.nifi.avro.AvroReader/index.html">AvroReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.11.4/org.apache.nifi.xml.XMLReader/index.html">XMLReader</a><br/><a href
 ="../../../nifi-record-serialization-services-nar/1.11.4/org.apache.nifi.json.JsonPathReader/index.html">JsonPathReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.11.4/org.apache.nifi.csv.CSVReader/index.html">CSVReader</a><br/><a href="../../../nifi-parquet-nar/1.11.4/org.apache.nifi.parquet.ParquetReader/index.html">ParquetReader</a></td><td id="description">Specifies the Controller Service to use for reading incoming data</td></tr><tr><td id="name"><strong>Record Writer</strong></td><td id="default-value"></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>RecordSetWriterFactory<br/><strong>Implementations: </strong><a href="../../../nifi-record-serialization-services-nar/1.11.4/org.apache.nifi.xml.XMLRecordSetWriter/index.html">XMLRecordSetWriter</a><br/><a href="../../../nifi-parquet-nar/1.11.4/org.apache.nifi.parquet.ParquetRecordSetWriter/index.html">ParquetRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-ser
 vices-nar/1.11.4/org.apache.nifi.csv.CSVRecordSetWriter/index.html">CSVRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.11.4/org.apache.nifi.text.FreeFormTextRecordSetWriter/index.html">FreeFormTextRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.11.4/org.apache.nifi.json.JsonRecordSetWriter/index.html">JsonRecordSetWriter</a><br/><a href="../../../nifi-scripting-nar/1.11.4/org.apache.nifi.record.script.ScriptedRecordSetWriter/index.html">ScriptedRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.11.4/org.apache.nifi.avro.AvroRecordSetWriter/index.html">AvroRecordSetWriter</a></td><td id="description">Specifies the Controller Service to use for writing out the records</td></tr><tr><td id="name"><strong>Mode</strong></td><td id="default-value">split</td><td id="allowable-values"><ul><li>Extract <img src="../../../../../html/images/iconInfo.png" alt="Generated records will be the elemen
 ts of the array" title="Generated records will be the elements of the array"></img></li><li>Split <img src="../../../../../html/images/iconInfo.png" alt="Generated records will preserve the input schema and will contain a one-element array" title="Generated records will preserve the input schema and will contain a one-element array"></img></li></ul></td><td id="description">Specifies the forking mode of the processor</td></tr><tr><td id="name"><strong>Include Parent Fields</strong></td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">This parameter is only valid with the 'extract' mode. If set to true, all the fields from the root level to the given array will be added as fields of each element of the array to fork.</td></tr></table><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>failure</td><td>In case a FlowFile generates an error during the fork operation, i
 t will be routed to this relationship</td></tr><tr><td>original</td><td>The original FlowFiles will be routed to this relationship</td></tr><tr><td>fork</td><td>The FlowFiles containing the forked records will be routed to this relationship</td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3><table id="writes-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>record.count</td><td>The generated FlowFile will have a 'record.count' attribute indicating the number of records that were written to the FlowFile.</td></tr><tr><td>mime.type</td><td>The MIME Type indicated by the Record Writer</td></tr><tr><td>&lt;Attributes from Record Writer&gt;</td><td>Any Attribute that the configured Record Writer returns will be added to the FlowFile.</td></tr></table><h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>Input requirement: </h3>This component requires an incoming relationship
 .<h3>System Resource Considerations:</h3>None specified.</body></html>
\ No newline at end of file

Added: nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.GenerateFlowFile/index.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.GenerateFlowFile/index.html?rev=1875518&view=auto
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.GenerateFlowFile/index.html (added)
+++ nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.GenerateFlowFile/index.html Sun Mar 22 13:18:15 2020
@@ -0,0 +1 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>GenerateFlowFile</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">GenerateFlowFile</h1><h2>Description: </h2><p>This processor creates FlowFiles with random data or custom content. GenerateFlowFile is useful for load testing, configuration, and simulation.</p><h3>Tags: </h3><p>test, random, generate</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properti
 es"><tr><th>Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>File Size</strong></td><td id="default-value">0B</td><td id="allowable-values"></td><td id="description">The size of the file that will be used</td></tr><tr><td id="name"><strong>Batch Size</strong></td><td id="default-value">1</td><td id="allowable-values"></td><td id="description">The number of FlowFiles to be transferred in each invocation</td></tr><tr><td id="name"><strong>Data Format</strong></td><td id="default-value">Text</td><td id="allowable-values"><ul><li>Binary</li><li>Text</li></ul></td><td id="description">Specifies whether the data should be Text or Binary</td></tr><tr><td id="name"><strong>Unique FlowFiles</strong></td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">If true, each FlowFile that is generated will be unique. If false, a random value will be generated and all FlowFi
 les will get the same content but this offers much higher throughput</td></tr><tr><td id="name">Custom Text</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">If Data Format is text and if Unique FlowFiles is false, then this custom text will be used as content of the generated FlowFiles and the File Size will be ignored. Finally, if Expression Language is used, evaluation will be performed only once per batch of generated FlowFiles<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr><tr><td id="name"><strong>Character Set</strong></td><td id="default-value">UTF-8</td><td id="allowable-values"></td><td id="description">Specifies the character set to use when writing the bytes of Custom Text to a flow file.</td></tr></table><h3>Dynamic Properties: </h3><p>Dynamic Properties allow the user to specify both the name and value of a property.<table id="dynamic-properties"><tr><th>Name</th><th>Va
 lue</th><th>Description</th></tr><tr><td id="name">Generated FlowFile attribute name</td><td id="value">Generated FlowFile attribute value</td><td>Specifies an attribute on generated FlowFiles defined by the Dynamic Property's key and value. If Expression Language is used, evaluation will be performed only once per batch of generated FlowFiles.<br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong></td></tr></table></p><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td></td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3>None specified.<h3>State management: </h3>This component does not store state.<h3>Restricted: </h3>This component is not restricted.<h3>Input requirement: </h3>This component does not allow an incoming relationship.<h3>System Resource Considerations:</h3>None specified.</body></html>
\ No newline at end of file

Added: nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.GenerateTableFetch/additionalDetails.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.GenerateTableFetch/additionalDetails.html?rev=1875518&view=auto
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.GenerateTableFetch/additionalDetails.html (added)
+++ nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.GenerateTableFetch/additionalDetails.html Sun Mar 22 13:18:15 2020
@@ -0,0 +1,69 @@
+<!DOCTYPE html>
+<html lang="en">
+    <!--
+      Licensed to the Apache Software Foundation (ASF) under one or more
+      contributor license agreements.  See the NOTICE file distributed with
+      this work for additional information regarding copyright ownership.
+      The ASF licenses this file to You under the Apache License, Version 2.0
+      (the "License"); you may not use this file except in compliance with
+      the License.  You may obtain a copy of the License at
+          http://www.apache.org/licenses/LICENSE-2.0
+      Unless required by applicable law or agreed to in writing, software
+      distributed under the License is distributed on an "AS IS" BASIS,
+      WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+      See the License for the specific language governing permissions and
+      limitations under the License.
+    -->
+    <head>
+        <meta charset="utf-8" />
+        <title>GenerateTableFetch</title>
+
+        <link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css" />
+    </head>
+
+    <body>
+    	<p>
+    		GenerateTableFetch uses its properties and the specified database connection to generate flow files
+			containing SQL statements that can be used to fetch "pages" (aka "partitions") of data from a table.
+            GenerateTableFetch executes a query to the database to determine the current row count and maximum value,
+            and if Maximum Value Columns are specified, will collect the count of rows whose values for the Maximum
+            Value Columns are larger than those last observed by GenerateTableFetch. This allows for incremental
+            fetching of "new" rows, rather than generating SQL to fetch the entire table each time. If no Maximum
+            Value Columns are set, then the processor will generate SQL to fetch the entire table each time.
+        </p>
+    	
+    	<p>
+    		In order to generate SQL that will fetch pages/partitions of data, by default GenerateTableFetch will
+            generate SQL that orders the data based on the Maximum Value Columns (if present) and utilize the row
+            numbers of the result set to determine each page. For example if the Maximum Value Column is an integer "id"
+            and the partition size is 10, then the SQL for the first page might be "SELECT * FROM myTable LIMIT 10" and
+            the second page might be "SELECT * FROM myTable OFFSET 10 LIMIT 10", and so on.
+    	</p>
+    	
+    	<p>
+			Ordering the data can be an expensive operation depending on the database, the number of rows, etc.
+            Alternatively, it is possible to specify a column whose values will be used to determine the pages, using
+            the Column for Value Partitioning property. If set, GenerateTableFetch will determine the minimum and
+            maximum values for the column, and uses the minimum value as the initial offset. The SQL to fetch a page is
+            then based on this initial offset and the total difference in values (i.e. maximum - minimum) divided by
+            the page size. For example, if the column "id" is used for value partitioning, and the column contains
+            values 100 to 200, then with a page size of 10 the SQL to fetch the first page might be "SELECT * FROM
+            myTable WHERE id >= 100 AND id < 110" and the second page might be "SELECT * FROM myTable WHERE id >= 110
+            AND id < 120", and so on.
+        </p>
+
+        <p>
+            It is important that the Column for Value Partitioning be set to a column whose type can be coerced to a
+            long integer (i.e. not date or timestamp), and that the column values are evenly distributed and not
+            sparse, for best performance. As a counterexample to the above, consider a column "id" whose values are 100,
+            2000, and 30000. If the Partition Size is 100, then the column values are relatively sparse, so the SQL
+            for the "second page" (see above example) will return zero rows, and so will every page until the value in
+            the query becomes "id >= 2000". Another counterexample is when the values are not uniformly distributed.
+            Consider a column "id" with values 100, 200, 201, 202, ... 299. Then the SQL for the first page (see above
+            example) will return one row with value id = 100, and the second page will return 100 rows with values 200
+            ... 299. This can cause inconsistent processing times downstream, as the pages may contain a very different
+            number of rows. For these reasons it is recommended to use a Column for Value Partitioning that is
+            sufficiently dense (not sparse) and fairly evenly distributed.
+    	</p>
+	</body>
+</html>
\ No newline at end of file

Added: nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.GenerateTableFetch/index.html
URL: http://svn.apache.org/viewvc/nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.GenerateTableFetch/index.html?rev=1875518&view=auto
==============================================================================
--- nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.GenerateTableFetch/index.html (added)
+++ nifi/site/trunk/docs/nifi-docs/components/org.apache.nifi/nifi-standard-nar/1.11.4/org.apache.nifi.processors.standard.GenerateTableFetch/index.html Sun Mar 22 13:18:15 2020
@@ -0,0 +1,6 @@
+<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>GenerateTableFetch</title><link rel="stylesheet" href="../../../../../css/component-usage.css" type="text/css"></link></head><script type="text/javascript">window.onload = function(){if(self==top) { document.getElementById('nameHeader').style.display = "inherit"; } }</script><body><h1 id="nameHeader" style="display: none;">GenerateTableFetch</h1><h2>Description: </h2><p>Generates SQL select queries that fetch "pages" of rows from a table. The partition size property, along with the table's row count, determine the size and number of pages and generated FlowFiles. In addition, incremental fetching can be achieved by setting Maximum-Value Columns, which causes the processor to track the columns' maximum values, thus only fetching rows whose columns' values exceed the observed maximums. This processor is intended to be run on the Primary Node only.
+
+This processor can accept incoming connections; the behavior of the processor is different whether incoming connections are provided:
+  - If no incoming connection(s) are specified, the processor will generate SQL queries on the specified processor schedule. Expression Language is supported for many fields, but no flow file attributes are available. However the properties will be evaluated using the Variable Registry.
+  - If incoming connection(s) are specified and no flow file is available to a processor task, no work will be performed.
+  - If incoming connection(s) are specified and a flow file is available to a processor task, the flow file's attributes may be used in Expression Language for such fields as Table Name and others. However, the Max-Value Columns and Columns to Return fields must be empty or refer to columns that are available in each specified table.</p><p><a href="additionalDetails.html">Additional Details...</a></p><h3>Tags: </h3><p>sql, select, jdbc, query, database, fetch, generate</p><h3>Properties: </h3><p>In the list below, the names of required properties appear in <strong>bold</strong>. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the <a href="../../../../../html/expression-language-guide.html">NiFi Expression Language</a>.</p><table id="properties"><tr><th>Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Database Connection Pooling Service</s
 trong></td><td id="default-value"></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>DBCPService<br/><strong>Implementations: </strong><a href="../../../nifi-dbcp-service-nar/1.11.4/org.apache.nifi.dbcp.DBCPConnectionPool/index.html">DBCPConnectionPool</a><br/><a href="../../../nifi-dbcp-service-nar/1.11.4/org.apache.nifi.dbcp.DBCPConnectionPoolLookup/index.html">DBCPConnectionPoolLookup</a><br/><a href="../../../nifi-hive-nar/1.11.4/org.apache.nifi.dbcp.hive.HiveConnectionPool/index.html">HiveConnectionPool</a></td><td id="description">The Controller Service that is used to obtain a connection to the database.</td></tr><tr><td id="name"><strong>Database Type</strong></td><td id="default-value">Generic</td><td id="allowable-values"><ul><li>Generic <img src="../../../../../html/images/iconInfo.png" alt="Generates ANSI SQL" title="Generates ANSI SQL"></img></li><li>Oracle <img src="../../../../../html/images/iconInfo.png" alt="Generates Oracle compliant SQL" 
 title="Generates Oracle compliant SQL"></img></li><li>Oracle 12+ <img src="../../../../../html/images/iconInfo.png" alt="Generates Oracle compliant SQL for version 12 or greater" title="Generates Oracle compliant SQL for version 12 or greater"></img></li><li>MS SQL 2012+ <img src="../../../../../html/images/iconInfo.png" alt="Generates MS SQL Compatible SQL, for version 2012 or greater" title="Generates MS SQL Compatible SQL, for version 2012 or greater"></img></li><li>MS SQL 2008 <img src="../../../../../html/images/iconInfo.png" alt="Generates MS SQL Compatible SQL for version 2008" title="Generates MS SQL Compatible SQL for version 2008"></img></li><li>MySQL <img src="../../../../../html/images/iconInfo.png" alt="Generates MySQL compatible SQL" title="Generates MySQL compatible SQL"></img></li></ul></td><td id="description">The type/flavor of database, used for generating database-specific code. In many cases the Generic type should suffice, but some databases (such as Oracle) re
 quire custom SQL clauses. </td></tr><tr><td id="name"><strong>Table Name</strong></td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The name of the database table to be queried.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Columns to Return</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">A comma-separated list of column names to be used in the query. If your database requires special treatment of the names (quoting, e.g.), each name should include such treatment. If no column names are supplied, all columns in the specified table will be returned. NOTE: It is important to use consistent column names for a given table for incremental fetch to work properly.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Max
 imum-value Columns</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">A comma-separated list of column names. The processor will keep track of the maximum value for each column that has been returned since the processor started running. Using multiple columns implies an order to the column list, and each column's values are expected to increase more slowly than the previous columns' values. Thus, using multiple columns implies a hierarchical structure of columns, which is usually used for partitioning tables. This processor can be used to retrieve only those rows that have been added/updated since the last retrieval. Note that some JDBC types such as bit/boolean are not conducive to maintaining maximum value, so columns of these types should not be listed in this property, and will result in error(s) during processing. If no columns are provided, all rows from the table will be considered, which could have a performance impact. NOTE: It is important 
 to use consistent max-value column names for a given table for incremental fetch to work properly.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Max Wait Time</strong></td><td id="default-value">0 seconds</td><td id="allowable-values"></td><td id="description">The maximum amount of time allowed for a running SQL select query , zero means there is no limit. Max time less than 1 second will be equal to zero.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Partition Size</strong></td><td id="default-value">10000</td><td id="allowable-values"></td><td id="description">The number of result rows to be fetched by each generated SQL statement. The total number of rows in the table divided by the partition size gives the number of SQL statements (i.e. FlowFiles) generat
 ed. A value of zero indicates that a single FlowFile is to be generated whose SQL statement will fetch all rows in the table.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Column for Value Partitioning</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The name of a column whose values will be used for partitioning. The default behavior is to use row numbers on the result set for partitioning into 'pages' to be fetched from the database, using an offset/limit strategy. However for certain databases, it can be more efficient under the right circumstances to use the column values themselves to define the 'pages'. This property should only be used when the default queries are not performing well, when there is no maximum-value column or a single maximum-value column whose type can be coerced to a long integer (i.e. not date or timestamp), and the co
 lumn values are evenly distributed and not sparse, for best performance.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Additional WHERE clause</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">A custom clause to be added in the WHERE condition when building SQL queries.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name">Custom ORDER BY Column</td><td id="default-value"></td><td id="allowable-values"></td><td id="description">The name of a column to be used for ordering the results if Max-Value Columns are not provided and partitioning is enabled. This property is ignored if either Max-Value Columns is set or Partition Size = 0. NOTE: If neither Max-Value Columns nor Custom ORDER BY Column is set, then depending on the the database/driver, the pro
 cessor may report an error and/or the generated SQL may result in missing and/or duplicate rows. This is because without an explicit ordering, fetching each partition is done using an arbitrary ordering.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Output Empty FlowFile on Zero Results</strong></td><td id="default-value">false</td><td id="allowable-values"><ul><li>true</li><li>false</li></ul></td><td id="description">Depending on the specified properties, an execution of this processor may not result in any SQL statements generated. When this property is true, an empty flow file will be generated (having the parent of the incoming flow file if present) and transferred to the 'success' relationship. When this property is false, no output flow files will be generated.</td></tr></table><h3>Dynamic Properties: </h3><p>Dynamic Properties allow the user to specify both the na
 me and value of a property.<table id="dynamic-properties"><tr><th>Name</th><th>Value</th><th>Description</th></tr><tr><td id="name">initial.maxvalue.&lt;max_value_column&gt;</td><td id="value">Initial maximum value for the specified column</td><td>Specifies an initial max value for max value columns. Properties should be added in the format `initial.maxvalue.&lt;max_value_column&gt;`. This value is only used the first time the table is accessed (when a Maximum Value Column is specified). In the case of incoming connections, the value is only used the first time for each table specified in the flow files.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr></table></p><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>Successfully created FlowFile from SQL query result set.</td></tr><tr><td>failure</td><td>This relationship is only used wh
 en SQL query execution (using an incoming FlowFile) failed. The incoming FlowFile will be penalized and routed to this relationship. If no incoming connection(s) are specified, this relationship is unused.</td></tr></table><h3>Reads Attributes: </h3>None specified.<h3>Writes Attributes: </h3><table id="writes-attributes"><tr><th>Name</th><th>Description</th></tr><tr><td>generatetablefetch.sql.error</td><td>If the processor has incoming connections, and processing an incoming flow file causes a SQL Exception, the flow file is routed to failure and this attribute is set to the exception message.</td></tr><tr><td>generatetablefetch.tableName</td><td>The name of the database table to be queried.</td></tr><tr><td>generatetablefetch.columnNames</td><td>The comma-separated list of column names used in the query.</td></tr><tr><td>generatetablefetch.whereClause</td><td>Where clause used in the query to get the expected rows.</td></tr><tr><td>generatetablefetch.maxColumnNames</td><td>The comm
 a-separated list of column names used to keep track of data that has been returned since the processor started running.</td></tr><tr><td>generatetablefetch.limit</td><td>The number of result rows to be fetched by the SQL statement.</td></tr><tr><td>generatetablefetch.offset</td><td>Offset to be used to retrieve the corresponding partition.</td></tr><tr><td>fragment.identifier</td><td>All FlowFiles generated from the same query result set will have the same value for the fragment.identifier attribute. This can then be used to correlate the results.</td></tr><tr><td>fragment.count</td><td>This is the total number of  FlowFiles produced by a single ResultSet. This can be used in conjunction with the fragment.identifier attribute in order to know how many FlowFiles belonged to the same incoming ResultSet.</td></tr><tr><td>fragment.index</td><td>This is the position of this FlowFile in the list of outgoing FlowFiles that were all generated from the same execution. This can be used in con
 junction with the fragment.identifier attribute to know which FlowFiles originated from the same execution and in what order  FlowFiles were produced</td></tr></table><h3>State management: </h3><table id="stateful"><tr><th>Scope</th><th>Description</th></tr><tr><td>CLUSTER</td><td>After performing a query on the specified table, the maximum values for the specified column(s) will be retained for use in future executions of the query. This allows the Processor to fetch only those records that have max values greater than the retained values. This can be used for incremental fetching, fetching of newly added rows, etc. To clear the maximum values, clear the state of the processor per the State Management documentation</td></tr></table><h3>Restricted: </h3>This component is not restricted.<h3>Input requirement: </h3>This component allows an incoming relationship.<h3>System Resource Considerations:</h3>None specified.<h3>See Also:</h3><p><a href="../org.apache.nifi.processors.standard.Q
 ueryDatabaseTable/index.html">QueryDatabaseTable</a>, <a href="../org.apache.nifi.processors.standard.ExecuteSQL/index.html">ExecuteSQL</a>, <a href="../org.apache.nifi.processors.standard.ListDatabaseTables/index.html">ListDatabaseTables</a></p></body></html>
\ No newline at end of file