DatabaseRecordLookupService

描述

一种基于关系数据库的查找服务。在数据库中找到查找键时,指定的列(或者,如果未指定查找值列,则为全部)将作为记录返回。每次查找只返回一行,重复的数据库条目将被忽略。

标签

cache、database、enrich、join、key、lookup、rdbms、record、reloadable、value

属性

下表列出了各项属性,其中带星号 (*) 的为必需属性。其他属性视为可选属性。该表还指出了所有默认值以及属性是否支持 NiFi 表达式语言。

显示名称

API 名称

默认值

允许值

描述

缓存有效期

缓存有效期

清除所有缓存条目的时间间隔。如果缓存大小为零,则忽略此属性。

默认小数精度 *

dbf-default-precision

10

当 DECIMAL/NUMBER 值作为 Avro 的“decimal”逻辑类型写入时,需要指定一个表示可用数字位数的特定“precision”。通常,精度由列数据类型定义或数据库引擎默认值定义。但是,某些数据库引擎可以返回未定义的精度(即 0)。这时将使用“默认小数精度”来写入这些未定义精度的数值。

默认小数标度 *

dbf-default-scale

0

当 DECIMAL/NUMBER 值作为 Avro 的“decimal”逻辑类型写入时,需要指定一个表示可用小数位数的特定“scale”。通常,标度由列数据类型定义或数据库引擎默认值定义。但是,当数据库返回未定义的精度(即 0)时,某些数据库引擎也可能无法确定标度。这时将使用“默认小数标度”来写入这些未定义标度的数值。如果一个值的小数位数多于指定的标度,则该值将被舍入,例如,标度为 0 时,1.53 变成 2;标度为 1 时,1.53 会变为 1.5。

缓存大小 *

dbrecord-lookup-cache-size

0

指定应缓存多少查找值/记录。缓存在所有表之间共享,并保留查找值到记录的映射。将此属性设置为零意味着不进行任何缓存,并且将查询表中每条记录中的每个查找值。如果查找表经常更改或必须检索最新数据,请不要使用缓存。

启用时清除缓存 *

dbrecord-lookup-clear-cache-on-enabled

true

  • true

  • false

启用此服务时是否清除缓存。如果缓存大小为零,则忽略此属性。启用该服务时清除缓存可确保该服务首先进入数据库以获取最新数据。

数据库连接池服务 *

dbrecord-lookup-dbcp-service

用于获取数据库连接的控制器服务

查找键列 *

dbrecord-lookup-key-column

表中将用作查找键的列。该列将与查找处理器中指定的属性进行匹配。请注意,根据数据库的不同,这可能区分大小写。

表名称 *

dbrecord-lookup-table-name

要查询的数据库表的名称。请注意,根据数据库的不同,这可能区分大小写。

查找值列

dbrecord-lookup-value-columns

表中列的列表(以逗号分隔),当查找键匹配时将返回该列表。请注意,根据数据库的不同,这可能区分大小写。

状态管理

此组件不存储状态。

受限

此组件不受限制。

系统资源注意事项

此组件未指定系统资源注意事项。

语言: 中文