普元数据开发平台 普元数据开发平台
产品介绍
安装部署
快速入门
操作指南
应用集成
FAQ
  • 数据库查询组件使用说明
  • 组件说明
  • 配置项说明
  • FAQ

# 数据库查询组件使用说明

  • 组件说明
  • 配置项说明
  • 使用示例
    • 数据库查询组件示例

# 组件说明

该组件用于在数据库表中查找值,查询出的字段值传递到下游组件。

# 配置项说明

配置名称 数据类型 是否必须 默认值 描述
节点名称 String 是 - 当前创建的节点名称,由用户自定义且不可为空。命名可包含字母、数字、下划线。
选择数据源 String 是 - 指定数据源。
选择库 String 是 - 下拉列表值为数据库schema值,当schema值为空时,下拉值为当前建立连接所用数据库名。
选择表 String 是 - 指定转换操作表名称。
全局缓存 Boolean 否 false 缓存行数,针对含有数据库查询组件的作业均生效。
局部缓存 Boolean 否 false 缓存行数,只针对当前运行的作业生效。
从表中加载所有数据 Boolean 否 false 当选择全局缓存或局部缓存时,可选择从表中加载所有数据,一次性把表中数据加载到缓存中。
缓存大小 Integer 否 0 当选择全局缓存或局部缓存时,可配置缓存大小(行数)。与从表中加载所有数据互斥。
查询所需的关键字段 - 是 - 目标字段:表中字段。比较符:表中字段数据与流中数据比较条件。来源字段1:当比较符不为IS NULL/IS NOT NULL时,此值不能为空,该字段值为前置步骤输出流中值。来源字段2:当比较符为BETWEEN时,此值不能为空,该字段值为前置步骤输出流中值。
查询表返回的值 - 是 - 字段:表中字段。新的名称:默认与表中字段一致,也可以修改。默认值:当字段值为空时,返回默认值。类型:表字段的类型。
获取多条结果 Boolean 否 false 返回根据条件查询出的多条结果。
多行结果时失败 Boolean 否 false 启用此选项可在查找返回多个结果时强制该步骤失败。
查询失败则忽略 Boolean 否 false 如果查找失败,则不传递该行。
排序 String 否 - 如果查找查询返回多个结果,ORDER BY子句将帮助您选择要获取的记录。

# FAQ

Q1: 关系型数据库输入和数据库查询有什么区别?
A1:

特性‌ 表输入 (Table Input) ‌数据库查询 (Database Lookup)
‌主要用途‌ 从数据库中读取原始数据(单表或简单JOIN) 根据输入流的字段值,动态查询其他表的数据(类似JOIN)
‌数据流向‌ 作为数据流的起点,直接读取数据库表或SQL结果 在数据流中补充关联数据(需已有输入流)
‌查询触发方式‌ 一次性执行SQL,读取全部结果 对输入流的每一行数据触发查询(逐行匹配)
‌性能‌ 适合批量读取大数据量(高效) 数据量大时性能较低(需逐行查询)
‌参数传递‌ 支持变量替换(如 ${DATE}) 支持将输入流的字段值作为查询参数
‌典型场景‌ 提取主表数据 关联维度表、代码表(如通过ID查名称)

Q2: 数据库查询都有哪些使用场景?
A2: 下面列出一些常见使用场景,以供参考:

  1. 数据补全‌
    ‌场景‌:需要从另一个表中获取附加信息来丰富当前数据。
    ‌示例‌:
    订单数据流中仅有 customer_id,需从客户表中查询对应的 customer_name 和 address。
    使用数据库查询组件,根据 customer_id 匹配客户表,将名称和地址添加到订单数据中。
  2. 代码转换
    ‌场景‌:将编码转换为可读值(如状态码转状态名称)。
    ‌示例‌:
    数据流中的 status_code 字段值为 1/2/3,需转换为 Active/Inactive/Pending。
    通过查询数据库中的 status_codes 表,将 status_code 映射为可读文本。
  3. 数据验证 ‌场景‌:验证数据是否符合业务规则或参考表的约束。
    ‌示例‌:
    检查输入的 product_id 是否存在于产品表中,若不存在则标记为无效记录。
    使用数据库查询组件验证 product_id 的有效性,过滤非法数据。
  4. 跨数据源关联‌
    ‌场景‌:需要关联不同数据库或数据源的表。
    ‌示例‌:
    主数据流来自MySQL的订单表,需关联Oracle数据库中的库存表,检查商品库存量。
    通过数据库查询组件跨库查询库存信息,实现数据关联。

← Web服务查询 比对记录 →