Skip to main content

LookupRecord

描述:

从记录中提取一个或多个字段,并在检索服务中查找这些字段的值。如果检索服务返回结果,则可以选择将该结果添加到记录中。在这种情况下,该组件用作浓缩组件。无论如何,记录都会被输出到“matched”连线或“unmatched”连线(如果“输出策略”属性被配置),确保检索服务是否返回结果,允许组件被用作路由组件。用于在检索服务中查找的标识是通过添加用户自定义的属性来定义的。添加的每个属性都有一个添加到Map的条目,其中属性的名称变为Map键,RecordPath返回的值将成为该键的值。如果RecordPath返回多个值,则Record将被输出到“unmatched”连线(或“success”连线,具体取决于“输出策略”属性的配置)。如果一个或多个字段与RecordPath匹配的结果,将更新匹配的所有字段。如果配置的检索服务中没有匹配项,则不会更新任何字段。比如,不会使用空值覆盖记录中的现有值。但是,请注意,如果在模式(schema)中没有考虑检索服务返回的结果(特别是为写入服务配置的模式),那么这些字段将不会写入数据流。

标签:

lookup, enrichment, route, record, csv, json, avro, logs, convert, filter, 记录, 查找, 路由, 转换, 过滤

参数:

如下列表中,必填参数则标识为加粗. 其他未加粗参数,则表示为可选参数。表中同时提到参数默认值设置, 并且 参数还支持 表达式语言.

名字默认值允许值列表描述
记录读取服务控制器服务API:
RecordReaderFactory
实现:
ParquetReader
GrokReader
SyslogReader
Syslog5424Reader
CSVReader
AvroReader
JsonPathReader
JsonTreeReader
ScriptedReader
XMLReader
指定用于读取传入数据的服务
记录写入服务控制器服务API:
RecordSetWriterFactory
实现:
CSVRecordSetWriter
FreeFormTextRecordSetWriter
AvroRecordSetWriter
JsonRecordSetWriter
XMLRecordSetWriter
ParquetRecordSetWriter
ScriptedRecordSetWriter
指定用于写出传入数据的服务
检索服务控制器服务API:
LookupService
实现:
HBase_1_1_2_RecordLookupService
SimpleCsvFileLookupService
CouchbaseRecordLookupService
PropertiesFileLookupService
IPLookupService
SimpleKeyValueLookupService
XMLFileLookupService
CommonKeyValueLookupService
RestLookupService
DistributedMapCacheLookupService
CouchbaseKeyValueLookupService
CSVRecordLookupService
MongoDBLookupService
ScriptedLookupService
指定用于记录检索的服务
RecordPath结果RecordPath指定从检索服务返回的值应该使用哪个值更新。 如果未指定,则将忽略从检索服务返回的值,除非数据流输出到“matched”或“unmatched”连线

支持表达式语言 (支持流属性和变量)
输出策略输出到'success'连线
- 输出到'success'连线无论配置的检索服务中是否存在匹配,记录都将输出到“success”连线
- 输出到'matched'或者'unmatched'连线根据配置的检索服务的匹配关系,记录将输出到对应的“matched”或者“unmatched”的连线。 单个输入数据流可能会产生两个不同的输出数据流。
指定查找结束后如何输出相应的记录
记录结果内容插入整条记录
- 插入整条记录检索服务检索到的整个记录将直接插入到目标记录中。
- 插入记录属性检索服务检索到的记录的所有字段将插入到目标记录中。
当检索的结果是记录时,该属性确定是否在配置的记录中插入整个检索记录本身,或者是否将在配置的记录中插入检索记录的所有字段。

动态参数:

名字描述
Value To LookupValid Record PathRecordPath指向检索服务将要查找的范围
支持表达式语言 (支持流属性和变量)

连线:

名字描述
success除非发生错误,否则所有记录将被输出到此连线
failure如果无法将数据流从配置的输入格式转换为相应的输出格式,则原始输入数据流将被输出到此连线

读取属性:

未提供。

写入属性:

名字描述
mime.type将mime.type属性设置为写入服务指定的MIME类型
record.count输出数据流的记录数

状态管理:

该组件不保存状态。

限制:

该组件没有限制

输入流要求:

组件必须提供输入流。

系统资源考量:

未提供。

参考:

ConvertRecord, SplitRecordSimpleKeyValueLookupService, IPLookupService