RecordReaderFactory
Implementations: Syslog5424Reader
CEFReader
ReaderLookup
CiscoEmblemSyslogMessageReader
CSVReader
GrokReader
SyslogReader
JsonTreeReader
JsonPathReader
XMLReader
AvroReader
JASN1Reader
ExcelReader
ParquetReader
EBCDICRecordReader
WindowsEventLogReader
IPFIXReader
ScriptedReader
Specifies the Controller Service to use for reading incoming data | Record Writer | record-writer | | Controller Service API: RecordSetWriterFactory Implementations: JsonRecordSetWriter ParquetRecordSetWriter CSVRecordSetWriter ScriptedRecordSetWriter XMLRecordSetWriter FreeFormTextRecordSetWriter AvroRecordSetWriter RecordSetWriterLookup | Specifies the Controller Service to use for writing out the records |
Lookup Service | lookup-service | | Controller Service API: LookupService Implementations: HBase_1_1_2_ListLookupService SimpleKeyValueLookupService DatabaseRecordLookupService CSVRecordLookupService PropertiesFileLookupService KuduLookupService CouchbaseRecordLookupService HBase_1_1_2_RecordLookupService IPLookupService ElasticSearchStringLookupService CouchbaseKeyValueLookupService MongoDBLookupService HBase_2_RecordLookupService SimpleCsvFileLookupService RestLookupService CMLLookupService ElasticSearchLookupService SimpleDatabaseLookupService ScriptedLookupService SimpleScriptedLookupService DistributedMapCacheLookupService XMLFileLookupService | The Lookup Service to use in order to lookup a value in each Record |
Result RecordPath | result-record-path | | | A RecordPath that points to the field whose value should be updated with whatever value is returned from the Lookup Service. If not specified, the value that is returned from the Lookup Service will be ignored, except for determining whether the FlowFile should be routed to the 'matched' or 'unmatched' Relationship. Supports Expression Language: true (will be evaluated using flow file attributes and variable registry) |
Routing Strategy | routing-strategy | Route to 'success' | - Route to 'success'
![Records will be routed to a 'success' Relationship regardless of whether or not there is a match in the configured Lookup Service Records will be routed to a 'success' Relationship regardless of whether or not there is a match in the configured Lookup Service](../../../../../html/images/iconInfo.png) - Route to 'matched' or 'unmatched'
![Records will be routed to either a 'matched' or an 'unmatched' Relationship depending on whether or not there was a match in the configured Lookup Service. A single input FlowFile may result in two different output FlowFiles. Records will be routed to either a 'matched' or an 'unmatched' Relationship depending on whether or not there was a match in the configured Lookup Service. A single input FlowFile may result in two different output FlowFiles.](../../../../../html/images/iconInfo.png)
| Specifies how to route records after a Lookup has completed |
Record Result Contents | result-contents | Insert Entire Record | - Insert Entire Record
![The entire Record that is retrieved from the Lookup Service will be inserted into the destination path. The entire Record that is retrieved from the Lookup Service will be inserted into the destination path.](../../../../../html/images/iconInfo.png) - Insert Record Fields
![All of the fields in the Record that is retrieved from the Lookup Service will be inserted into the destination path. All of the fields in the Record that is retrieved from the Lookup Service will be inserted into the destination path.](../../../../../html/images/iconInfo.png)
| When a result is obtained that contains a Record, this property determines whether the Record itself is inserted at the configured path or if the contents of the Record (i.e., the sub-fields) will be inserted at the configured path. |
Record Update Strategy | record-update-strategy | Use Property | - Replace Existing Values
![The "Result RecordPath" property will be ignored and the lookup service must be a single simple key lookup service. Every dynamic property value should be a record path. For each dynamic property, the value contained in the field corresponding to the record path will be used as the key in the Lookup Service and the value returned by the Lookup Service will be used to replace the existing value. It is possible to configure multiple dynamic properties to replace multiple values in one execution. This strategy only supports simple types replacements (strings, integers, etc). The "Result RecordPath" property will be ignored and the lookup service must be a single simple key lookup service. Every dynamic property value should be a record path. For each dynamic property, the value contained in the field corresponding to the record path will be used as the key in the Lookup Service and the value returned by the Lookup Service will be used to replace the existing value. It is possible to configure multiple dynamic properties to replace multiple values in one execution. This strategy only supports simple types replacements (strings, integers, etc).](../../../../../html/images/iconInfo.png) - Use Property
![The "Result RecordPath" property will be used to determine which part of the record should be updated with the value returned by the Lookup Service The "Result RecordPath" property will be used to determine which part of the record should be updated with the value returned by the Lookup Service](../../../../../html/images/iconInfo.png)
| This property defines the strategy to use when updating the record with the value returned by the Lookup Service. |
Cache Size | record-path-lookup-miss-result-cache-size | 0 | | Specifies how many lookup values/records should be cached.Setting this property to zero means no caching will be done and the table will be queried for each lookup value in each record. If the lookup table changes often or the most recent data must be retrieved, do not use the cache. Supports Expression Language: true (will be evaluated using variable registry only) |
Dynamic Properties:
Supports Sensitive Dynamic Properties: No
Dynamic Properties allow the user to specify both the name and value of a property.
Name | Value | Description |
---|
Value To Lookup | Valid Record Path | A RecordPath that points to the field whose value will be looked up in the configured Lookup Service Supports Expression Language: true (will be evaluated using flow file attributes and variable registry) |
Relationships:
Name | Description |
---|
success | All records will be sent to this Relationship if configured to do so, unless a failure occurs |
failure | If a FlowFile cannot be enriched, the unchanged FlowFile will be routed to this relationship |
Reads Attributes:
None specified.Writes Attributes:
Name | Description |
---|
mime.type | Sets the mime.type attribute to the MIME Type specified by the Record Writer |
record.count | The number of records in the FlowFile |
State management:
This component does not store state.Restricted:
This component is not restricted.Input requirement:
This component requires an incoming relationship.System Resource Considerations:
None specified.See Also:
ConvertRecord, SplitRecord, SimpleKeyValueLookupService, IPLookupService, DatabaseRecordLookupService