历史版本32 :自定义参数 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineDataLink 版本功能变动
V1.7
支持自定义参数功能:「参数设置」
V2.0允许定义值相同的参数,但是会给出提醒,详情参见本文 4.1 节

1.2 应用场景

在实际场景中,用户难免会需要应对一些变化,就需要去编写一些变量。

只通过语句编写参数变量会比较复杂,而本章将介绍 FineDataLink中快捷高效的自定义参数的方法。

1.3 功能简介

新建一个任务后,自定义参数的入口如下图所示:

支持定义 5 种类型的参数,分别是:日期型、字符串型、整型、双精度型、布尔型。

自定义参数须知:

  • 参数定义成功后可以在其他节点中引用

  • 参数名和参数值中不允许包含${} 

  • 用户设置的参数只归属于当前任务

  • 需要注意的是,当参数类型是字符串时:

    若参数值是单个值,可以直接输入文本,例如参数名称为 a,值为:苹果,使用时需要加单引号:'${a}'

    若参数值是多个值,参数值需要用单引号和逗号分开,例如参数名称为 a ,值为:'苹果','香蕉',使用时不需要加单引号:${a}

2. 自定义时间参数编辑

自定义时间参数需要基于系统内置参数 ${cyctime},通过对 ${cyctime} 加减实现时间的自定义。

例如要自定义时间参数 para_time,默认值为 ${cyctime} 所在年份的前年,写法如下图所示:

  • yyyy 表示 4 位的年份,取值为 ${cyctime} 的年份。

  • yy 表示 2 位的年份,取值为 ${cyctime} 的年份。

  • mm 表示月,取值为 ${cyctime} 的月份。

  • dd 表示天,取值为 ${cyctime} 的天。

  • hh 表示小时(24小时制),取值为 ${cyctime} 的小时。

  • mi 表示分钟,取值为 ${cyctime} 的分钟。

  • ss 表示秒,取值为 ${cyctime} 的秒。

目的输入方式
示例(假设${cyctime}的值为 2021-09-09 20:45:50)
后 N 年yyyy+N若N为 1,则值为 2022
前 N 年yyyy-N若N为 1,则值为 2020
后 N 月yyyymm+N若N为 6,则值为 202203
前 N 月yyyymm-N若N为 6,则值为 202103
后 N 周yyyymmdd+7*N若N为 1,则值为 20210916
前 N 周yyyymmdd-7*N若N为 1,则值为 20210902
后 N 天,年月日加 N 天yyyymmdd+N若N为 1,则值为 20210910
前 N 天,年月日减 N 天yyyymmdd-N若N为 1,则值为 20210908
前 N 小时yyyymmdd hh:mi:ss-N/24若N为 1,则值为 20210909 19:45:50
后 N 小时yyyymmdd hh:mi:ss+N/24若N为 1,则值为 20210909 21:45:50
前 N 分钟yyyy-mm-dd hh:mi:ss-N/24/60若N为 5,则值为 2021-09-09 20:40:50
后 N 分钟yyyy-mm-dd hh:mi:ss+N/24/60若N为 5,则值为 2021-09-09 20:50:50
前 N 秒yyyy-mm-dd hh:mi:ss-N/24/60/60

若N为 5,则值为 2021-09-09 20:45:45  

定义时间参数的一个简单示例如下:

1)新建一个 ETL 任务,自定义一个 para_time 参数,默认值为 yyyy-mm-1(意为取值为 ${cyctime} 的前一个月)。如下图所示:

2)任务拖入一个「数据同步」节点,设置数据来源,输入 SQL 语句,只取出「mytime」日期字段中大于参数的数据。

3)点击「数据预览」,可以看到取出了运行前一个月内的数据。如下图所示:

3. 自定义常量参数编辑

除了可以自定义时间参数,用户还可以自定义常量参数,可以是数字或文本等。

常量参数支持设置的类型有:「字符串」、「整型」、「双精度型」、「布尔型」

定义常量参数的示例如下:

1)创建一个 ETL 任务,定义一个字符串类型的参数「para_a」,默认参数值有多个,用逗号将'苹果''香蕉'分开,如下图所示:

2)在其他节点的 SQL 语句中可以使用该参数,比如数据同步节点中只取出苹果和香蕉的数据,如下图所示:

需要注意的是,当参数类型是字符串时:

  • 若参数值是单个值,可以直接输入文本,例如参数名称为 a,值为:苹果,使用时需要加单引号:'${a}'

  • 若参数值是多个值,参数值需要用单引号和逗号分开,例如参数名称为 a ,值为:'苹果','香蕉',使用时不需要加单引号:${a}

4. 功能变动编辑

4.1 允许定义相同值参数

定义参数时,允许参数的值相同,但是出现这样的参数时,会给出提醒:参数值存在重复值,如下图所示: