Applies a JOLT specification to each record in 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.
record, jolt, transform, shiftr, chainr, defaultr, removr, cardinality, sort
In the list below, the names of required properties appear in bold. Any other properties (not in bold) are considered optional. The table also indicates any default values, and whether a property supports the NiFi Expression Language.
| Display Name | API Name | Default Value | Allowable Values | Description |
|---|---|---|---|---|
| Record Reader | jolt-record-record-reader | Controller Service API: RecordReaderFactory Implementations: CEFReader SyslogReader ReaderLookup ProtobufReader Syslog5424Reader CSVReader GrokReader WindowsEventLogReader ScriptedReader AvroReader ParquetReader JsonPathReader ExcelReader JsonTreeReader YamlTreeReader XMLReader | Specifies the Controller Service to use for parsing incoming data and determining the data's schema. | |
| Record Writer | jolt-record-record-writer | Controller Service API: RecordSetWriterFactory Implementations: JsonRecordSetWriter RecordSetWriterLookup AvroRecordSetWriter XMLRecordSetWriter FreeFormTextRecordSetWriter CSVRecordSetWriter ParquetRecordSetWriter ScriptedRecordSetWriter | Specifies the Controller Service to use for writing out the records | |
| Jolt Transformation DSL | jolt-record-transform | Chain |
| Specifies the Jolt Transformation that should be used with the provided specification. |
| Custom Transformation Class Name | jolt-record-custom-class | Fully Qualified Class Name for Custom Transformation Supports Expression Language: true (will be evaluated using flow file attributes and variable registry) This Property is only considered if the [Jolt Transformation DSL] Property has a value of "Custom". | ||
| Custom Module Directory | jolt-record-custom-modules | Comma-separated list of paths to files and/or directories which contain modules containing custom transformations (that are not included on NiFi's classpath). This property expects a comma-separated list of resources. Each of the resources may be of any of the following types: file, directory. Supports Expression Language: true (will be evaluated using variable registry only) This Property is only considered if the [Jolt Transformation DSL] Property has a value of "Custom". | ||
| Jolt Specification | jolt-record-spec | Jolt Specification for transform of record data. The value for this property may be the text of a JOLT specification or the path to a file containing a JOLT specification. This value is ignored if the Jolt Sort Transformation is selected. This property requires exactly one resource to be provided. That resource may be any of the following types: file, text. Supports Expression Language: true (will be evaluated using flow file attributes and variable registry) | ||
| Transform Cache Size | jolt-record-transform-cache-size | 1 | 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. |
| Name | Description |
|---|---|
| success | The FlowFile with transformed content will be routed to this relationship |
| failure | If a FlowFile fails processing for any reason (for example, the FlowFile records cannot be parsed), it will be routed to this relationship |
| original | The original FlowFile that was transformed. If the FlowFile fails processing, nothing will be sent to this relationship |
| Name | Description |
|---|---|
| record.count | The number of records in an outgoing FlowFile |
| mime.type | The MIME Type that the configured Record Writer indicates is appropriate |