ListDatabaseTables

文档中心 › 组件索引 › ListDatabaseTables

ListDatabaseTables Processor

类型全限定名:cn.org.acal.lynxus.processors.standard.ListDatabaseTables

所属 Bundle:cn.org.acal.lynxus:lynxus-standard-nar:2.11.8

描述

生成一组 FlowFile,每个 FlowFile 包含与数据库查询结果集中表的元数据对应的属性。

标签

sqllistjdbctabledatabase

多处理器协同场景

执行数据库的完全加载,从所有表或特定表集中检索所有行。

full loadrdbmsjdbcdatabase

配置 ListDatabaseTables:

配置 "Database Connection Pooling Service" 属性以指定适用于与你的数据库交互的连接池。
将 RecordWriter 属性留空(不设置)。

将 "Catalog" 属性设置为数据库 Catalog 的名称;留空以包含所有 catalog。
将 "Schema Pattern" 属性设置为一个匹配所有应包含的数据库 Schema 的 Java 正则表达式;留空以包含所有 Schema。
将 "Table Name Pattern" 属性设置为一个匹配所有应包含的表名的 Java 正则表达式;留空以包含所有 Table。

将 "success" 关系连接到 GenerateTableFetch。

配置 GenerateTableFetch:

配置 "Database Connection Pooling Service" 属性以指定与 ListDatabaseTables 中使用的相同的连接池。
将 "Database Type" 属性设置为与你的 RDBMS 供应商匹配的适当值。
将 "Table Name" 设置为 `${db.table.fullname}`
将 RecordWriter 属性留空(不设置)。

将 "success" 关系连接到 ExecuteSQLRecord。

配置 ExecuteSQLRecord:

配置 "Database Connection Pooling Service" 属性以指定与 ListDatabaseTables 中使用的相同的连接池。
配置 "Record Writer" 属性以指定适合所需输出数据类型的 Record Writer。
将 "SQL select query" 留空(不设置)。

将 "success" 关系连接到流程中的下一个 Processor。

属性

下表中,加粗的属性为必填项;其余为可选项。表格同时标注默认值、是否支持表达式语言,以及是否为敏感属性(值会被加密)。

名称默认值可选值描述
Database Connection Pooling Service控制器服务 API:
DBCPService
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
用于获取数据库连接的Controller Service
Catalog指定要从中列出数据库表的目录名称。名称必须与数据库中存储的目录名称匹配。如果未设置此属性,目录名称将不用于缩小表的搜索范围。如果属性设置为空字符串,则将列出没有目录的表。
Schema Pattern匹配数据库中架构的模式。在模式中,"%" 表示匹配 0 个或多个字符的任意子串,"_" 表示匹配任意一个字符。模式必须与架构在数据库中的存储名称匹配。如果未设置此属性,将不使用架构名称来缩小表的搜索范围。如果设置为空字符串,将列出没有架构的表。
Table Name Pattern匹配数据库中表的模式。在模式中,"%" 表示匹配 0 个或多个字符的任意子串,"_" 表示匹配任意一个字符。模式必须与表在数据库中的存储名称匹配。如果未设置此属性,将检索所有表。
Table TypesTABLE要包含的表类型逗号分隔列表。例如,某些数据库支持 TABLE 和 VIEW 类型。如果未设置此属性,将返回所有类型的表。
Include Countfalse
  • true
  • false
指定是否将表的行数作为 FlowFile 属性包含在内。这会影响性能,因为将为检索列表中的每个表生成数据库查询。
Record Writer控制器服务 API:
RecordSetWriterFactory
cn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8
指定用于创建列表的记录写入器。如果未指定,将为每个列出的实体创建一个 FlowFile。如果指定了记录写入器,所有实体将写入单个 FlowFile,而不是将属性添加到各个 FlowFile。
Refresh Interval0 sec在重置处理器状态之前经过的时间量,从而导致列出所有当前表。在此间隔期间,处理器可能继续运行,但已列出的表不会被重新列出。但是新的/添加的表将在处理器运行时被列出。值为零表示状态永远不会自动重置,用户必须手动清除状态。

关系 (Relationships)

名称描述自动终止
success所有收到的 FlowFiles 都会成功路由否

写入的 FlowFile 属性

名称描述
db.table.name包含来自连接的数据库表的名称
db.table.catalog包含表所属的目录名称(可以为空)
db.table.schema包含表所属的模式名称(可能为 null)
db.table.fullname包含完全限定的表名称(可能包括目录、模式等)
db.table.type包含来自连接的数据库表的类型。典型类型有"TABLE"、"VIEW"、"SYSTEM TABLE"、"GLOBAL TEMPORARY", "LOCAL TEMPORARY", "ALIAS", "SYNONYM"
db.table.remarks包含来自连接的数据库表的名称
db.table.count包含表中的行数

状态管理

作用域描述
CLUSTER执行表列表后,存储查询的时间戳。这允许处理器在下次运行时不重新列出表。在处理器属性中指定刷新间隔将表示当处理器检测到间隔已过时,状态将被重置,表将被重新列出。此处理器仅用于在主节点上运行。

受限 (Restricted)

该组件不受限。

输入要求

该组件不允许有传入连接。