blob: 5448e099418489b111341b9c7425382677926518 [file] [log] [blame]
<!DOCTYPE html><html lang="en"><head><meta charset="utf-8"></meta><title>JoltTransformRecord</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;">JoltTransformRecord</h1><h2>Description: </h2><p>Applies a list of Jolt specifications to the FlowFile payload. A new FlowFile is created with transformed content and is routed to the 'success' relationship. If the transform fails, the original FlowFile is routed to the 'failure' relationship.</p><h3>Tags: </h3><p>record, jolt, transform, shiftr, chainr, defaultr, removr, cardinality, sort</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>Display Name</th><th>API Name</th><th>Default Value</th><th>Allowable Values</th><th>Description</th></tr><tr><td id="name"><strong>Record Reader</strong></td><td>jolt-record-record-reader</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>RecordReaderFactory<br/><strong>Implementations: </strong><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.grok.GrokReader/index.html">GrokReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.xml.XMLReader/index.html">XMLReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.avro.AvroReader/index.html">AvroReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.syslog.Syslog5424Reader/index.html">Syslog5424Reader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.cef.CEFReader/index.html">CEFReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.syslog.SyslogReader/index.html">SyslogReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.json.JsonTreeReader/index.html">JsonTreeReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.csv.CSVReader/index.html">CSVReader</a><br/><a href="../../../nifi-scripting-nar/1.19.1/org.apache.nifi.record.script.ScriptedReader/index.html">ScriptedReader</a><br/><a href="../../../nifi-parquet-nar/1.19.1/org.apache.nifi.parquet.ParquetReader/index.html">ParquetReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.json.JsonPathReader/index.html">JsonPathReader</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.lookup.ReaderLookup/index.html">ReaderLookup</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.windowsevent.WindowsEventLogReader/index.html">WindowsEventLogReader</a></td><td id="description">Specifies the Controller Service to use for parsing incoming data and determining the data's schema.</td></tr><tr><td id="name"><strong>Record Writer</strong></td><td>jolt-record-record-writer</td><td></td><td id="allowable-values"><strong>Controller Service API: </strong><br/>RecordSetWriterFactory<br/><strong>Implementations: </strong><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.text.FreeFormTextRecordSetWriter/index.html">FreeFormTextRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.avro.AvroRecordSetWriter/index.html">AvroRecordSetWriter</a><br/><a href="../../../nifi-scripting-nar/1.19.1/org.apache.nifi.record.script.ScriptedRecordSetWriter/index.html">ScriptedRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.csv.CSVRecordSetWriter/index.html">CSVRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.xml.XMLRecordSetWriter/index.html">XMLRecordSetWriter</a><br/><a href="../../../nifi-parquet-nar/1.19.1/org.apache.nifi.parquet.ParquetRecordSetWriter/index.html">ParquetRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.json.JsonRecordSetWriter/index.html">JsonRecordSetWriter</a><br/><a href="../../../nifi-record-serialization-services-nar/1.19.1/org.apache.nifi.lookup.RecordSetWriterLookup/index.html">RecordSetWriterLookup</a></td><td id="description">Specifies the Controller Service to use for writing out the records</td></tr><tr><td id="name"><strong>Jolt Transformation DSL</strong></td><td>jolt-record-transform</td><td id="default-value">Chain</td><td id="allowable-values"><ul><li>Cardinality <img src="../../../../../html/images/iconInfo.png" alt="Change the cardinality of input elements to create the output." title="Change the cardinality of input elements to create the output."></img></li><li>Chain <img src="../../../../../html/images/iconInfo.png" alt="Execute list of Jolt transformations." title="Execute list of Jolt transformations."></img></li><li>Default <img src="../../../../../html/images/iconInfo.png" alt=" Apply default values to the output." title=" Apply default values to the output."></img></li><li>Modify - Default <img src="../../../../../html/images/iconInfo.png" alt="Writes when field name is missing or value is null" title="Writes when field name is missing or value is null"></img></li><li>Modify - Define <img src="../../../../../html/images/iconInfo.png" alt="Writes when key is missing" title="Writes when key is missing"></img></li><li>Modify - Overwrite <img src="../../../../../html/images/iconInfo.png" alt=" Always overwrite value" title=" Always overwrite value"></img></li><li>Remove <img src="../../../../../html/images/iconInfo.png" alt=" Remove values from input data to create the output." title=" Remove values from input data to create the output."></img></li><li>Shift <img src="../../../../../html/images/iconInfo.png" alt="Shift input data to create the output." title="Shift input data to create the output."></img></li><li>Sort <img src="../../../../../html/images/iconInfo.png" alt="Sort input field name values alphabetically. Any specification set is ignored." title="Sort input field name values alphabetically. Any specification set is ignored."></img></li><li>Custom <img src="../../../../../html/images/iconInfo.png" alt="Custom Transformation. Requires Custom Transformation Class Name" title="Custom Transformation. Requires Custom Transformation Class Name"></img></li></ul></td><td id="description">Specifies the Jolt Transformation that should be used with the provided specification.</td></tr><tr><td id="name">Custom Transformation Class Name</td><td>jolt-record-custom-class</td><td></td><td id="allowable-values"></td><td id="description">Fully Qualified Class Name for Custom Transformation<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong><br/><br/><strong>This Property is only considered if </strong><strong>the [Jolt Specification] Property </strong></td></tr><tr><td id="name">Custom Module Directory</td><td>jolt-record-custom-modules</td><td></td><td id="allowable-values"></td><td id="description">Comma-separated list of paths to files and/or directories which contain modules containing custom transformations (that are not included on NiFi's classpath).<br/><br/><strong>This property expects a comma-separated list of resources. Each of the resources may be of any of the following types: directory, file.</strong><br/><br/><strong>Supports Expression Language: true (will be evaluated using variable registry only)</strong><br/><br/><strong>This Property is only considered if </strong><strong>the [Jolt Specification] Property </strong></td></tr><tr><td id="name">Jolt Specification</td><td>jolt-record-spec</td><td></td><td id="allowable-values"></td><td id="description">Jolt Specification for transform of record data. This value is ignored if the Jolt Sort Transformation is selected.<br/><strong>Supports Expression Language: true (will be evaluated using flow file attributes and variable registry)</strong></td></tr><tr><td id="name"><strong>Transform Cache Size</strong></td><td>jolt-record-transform-cache-size</td><td id="default-value">1</td><td id="allowable-values"></td><td id="description">Compiling a Jolt Transform can be fairly expensive. Ideally, this will be done only once. However, if the Expression Language is used in the transform, we may need a new Transform for each FlowFile. This value controls how many of those Transforms we cache in memory in order to avoid having to compile the Transform each time.</td></tr></table><h3>Relationships: </h3><table id="relationships"><tr><th>Name</th><th>Description</th></tr><tr><td>success</td><td>The FlowFile with transformed content will be routed to this relationship</td></tr><tr><td>failure</td><td>If a FlowFile fails processing for any reason (for example, the FlowFile records cannot be parsed), it will be routed to this relationship</td></tr><tr><td>original</td><td>The original FlowFile that was transformed. If the FlowFile fails processing, nothing will be sent 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 number of records in an outgoing FlowFile</td></tr><tr><td>mime.type</td><td>The MIME Type that the configured Record Writer indicates is appropriate</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>