1. 概述
本文介绍参数在数据开发中的典型应用场景。
如何配置并使用参数请参见:如何配置并使用参数
2. 数据开发
2.1 增量数据同步
定时任务每次执行时,可只同步指定时间范围内、或指定主键范围内的数据到目标表中。详情请参见:数据增量更新同步
示例一:同步指定时间范围内的数据
来源表为 demo_ods_huabeicaiwu ,目标表为 dw_caiwu ,都包含时间戳「订单生成时间」。如下图所示:
若目标表中「订单生成时间」的最大值,小于来源表的「订单生成时间」,说明来源表存在新增数据,需要将新增数据同步到目标表中。
所以,使用「参数赋值」节点,取出目标表中「订单生成时间」的最大值,将其设置为 time 参数。如下图所示:
「数据同步」节点中,将来源表「订单生成时间」大于 time 参数的数据取出,同步到目标表中。如下图所示:
由于同步的数据是新增数据,追加写入数据即可;逻辑主键可不设置,为空表示直接追加写入数据。如下图所示:
设置定时任务的执行频率即可。
示例二:同步指定主键范围内的数据
详情请参见:来源表无时间戳但有唯一标识
2.2 动态表名
场景:
API 接口中每天有 20 多万的数据,若落库到同一张表中,随着时间该表数据不断累积,可能造成查询慢的问题。
希望能按日期分表,每天创建一个新的数据表,保存该天数据。
参数使用说明(非完整方案):
注:完整示例请参见:按日期分表,每天保存当天数据;更多示例请参见:文件拆分:只保留最新拆分的文件
1)使用「参数赋值」节点,自定义表名并输出为参数。
示例中,每天的表名是:test+当天日期,比如今天日期是2024-01-10,表名为:test20240110。
2)创建表结构。
创建表,表名称为${tablename},表结构根据实际情况创建。
拖入「SQL脚本」节点,创建表结构。如下图所示:
3)最终效果
2.3 作为待调用接口的参数
用户需要从一些接口中取数,这些接口中往往包含请求参数。如下图所示:
接口示例:地理/逆地理编码接口
调用接口前,需要准备接口参数。如下图所示:
详细示例请参见:使用高德接口获取城市天气数据;更多示例请参见:API取数概述
2.4 将特定内容输出为参数通知给用户
场景:
用户给关键业务指标设置了预警阈值进行监控,一旦达到阈值,通过企业微信/钉钉等渠道迅速向责任人告警,缩短业务决策周期。
用户希望通过邮件/企业微信等渠道,向成员发布信息或罗列特定事务。
实现效果:
下图黄色部分均为参数对应的值。
示例参考:
一条消息通知同时提醒多人、一条消息提醒一个人,可发送多条消息
2.5 作为动态路径实现读取相同类型文件的效果
应用场景:
某国有企业旗下有 100 多家分公司,子公司财务每月需要向总部提交各种财务预算和决算表,如资产负债表、利润表、现金流量表等数据表。总部财务需要手动对相同类型的财务报表进行数据汇总,并将其整理后向领导做出统一汇报。
现存问题:
总部财务手动汇总数据耗时较长,效率低下。
汇总的数据出问题,异常数据无法快速追踪。
本文提供方案,可自动化读取相同类型的文件,为企业降本增效。
参数使用说明(非完整方案):
注:完整示例请参见:循环多次读取Linux环境文件同步数据
1)将扫描文件的绝对路径输出为参数。如下图所示:
2)使用「循环容器节点+文件输入」节点,循环读取文件。如下图所示:
2.6 作为条件分支节点的判断条件
参数值作为条件分支节点的判断条件。如下图所示:
注:完整示例请参见:使用条件分支获取优秀员工信息
2.7 作为循环容器节点的遍历对象
应用场景:
用户使用 API 数据源 取数, API 数据源的参数来自数据库内的一列字段内或者API接口中,但是 API 参数每次只能读取一个参数值,所以需要参数赋值支持将参数值逐行输出,下游节点通过数据同步或者数据转换对参数值进行遍历。
使用说明:
将需要遍历的对象输出为参数,使用循环容器节点循环取数。如下图所示:
示例可参考:将经纬度数据转换为中文地址
3. 数据服务
3.1 调用API时使用参数查询数据
1)数据服务发布API的「发布内容及参数」步骤中,可在 SQL 语句中设置参数。如下图所示:
2)调用 API 时,可使用参数查询数据。如下图所示:
数据服务中参数使用示例请参见:
4. 数据管道
数据管道中暂不支持使用参数。