ListDatabaseTables Processor
描述
生成一组 FlowFile,每个 FlowFile 包含与数据库查询结果集中表的元数据对应的属性。
标签
多处理器协同场景
执行数据库的完全加载,从所有表或特定表集中检索所有行。
配置 "Database Connection Pooling Service" 属性以指定适用于与你的数据库交互的连接池。
将 RecordWriter 属性留空(不设置)。
将 "Catalog" 属性设置为数据库 Catalog 的名称;留空以包含所有 catalog。
将 "Schema Pattern" 属性设置为一个匹配所有应包含的数据库 Schema 的 Java 正则表达式;留空以包含所有 Schema。
将 "Table Name Pattern" 属性设置为一个匹配所有应包含的表名的 Java 正则表达式;留空以包含所有 Table。
将 "success" 关系连接到 GenerateTableFetch。
配置 "Database Connection Pooling Service" 属性以指定与 ListDatabaseTables 中使用的相同的连接池。
将 "Database Type" 属性设置为与你的 RDBMS 供应商匹配的适当值。
将 "Table Name" 设置为 `${db.table.fullname}`
将 RecordWriter 属性留空(不设置)。
将 "success" 关系连接到 ExecuteSQLRecord。
配置 "Database Connection Pooling Service" 属性以指定与 ListDatabaseTables 中使用的相同的连接池。
配置 "Record Writer" 属性以指定适合所需输出数据类型的 Record Writer。
将 "SQL select query" 留空(不设置)。
将 "success" 关系连接到流程中的下一个 Processor。
属性
| 名称 | 默认值 | 可选值 | 描述 |
|---|---|---|---|
| Database Connection Pooling Service | | 控制器服务 API:DBCPServicecn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 用于获取数据库连接的Controller Service |
| Catalog | | 指定要从中列出数据库表的目录名称。名称必须与数据库中存储的目录名称匹配。如果未设置此属性,目录名称将不用于缩小表的搜索范围。如果属性设置为空字符串,则将列出没有目录的表。 | |
| Schema Pattern | | 匹配数据库中架构的模式。在模式中,"%" 表示匹配 0 个或多个字符的任意子串,"_" 表示匹配任意一个字符。模式必须与架构在数据库中的存储名称匹配。如果未设置此属性,将不使用架构名称来缩小表的搜索范围。如果设置为空字符串,将列出没有架构的表。 | |
| Table Name Pattern | | 匹配数据库中表的模式。在模式中,"%" 表示匹配 0 个或多个字符的任意子串,"_" 表示匹配任意一个字符。模式必须与表在数据库中的存储名称匹配。如果未设置此属性,将检索所有表。 | |
| Table Types | TABLE | 要包含的表类型逗号分隔列表。例如,某些数据库支持 TABLE 和 VIEW 类型。如果未设置此属性,将返回所有类型的表。 | |
| Include Count | false |
| 指定是否将表的行数作为 FlowFile 属性包含在内。这会影响性能,因为将为检索列表中的每个表生成数据库查询。 |
| Record Writer | | 控制器服务 API:RecordSetWriterFactorycn.org.acal.lynxus-lynxus-standard-services-api-nar-2.11.8 | 指定用于创建列表的记录写入器。如果未指定,将为每个列出的实体创建一个 FlowFile。如果指定了记录写入器,所有实体将写入单个 FlowFile,而不是将属性添加到各个 FlowFile。 |
| Refresh Interval | 0 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)
该组件不受限。
输入要求
该组件不允许有传入连接。