本文将为您介绍 DataLeap 离线集成任务创建和管理的通用操作。
注意
输入的任务名称信息,只允许字符.、字母、数字、下划线、连字符、[]、【】、()、()以及中文字符,127个字符以内。
数据来源和目标端配置完成后,需要指定来源和目标端的字段映射关系,根据字段映射关系,数据集成任务将源端字段中的数据,写入到目标端对应字段中。
字段映射支持选择基础模式和转换模式配置映射。
说明
基础模式和转换模式不支持互相切换,模式切换后,将清空现有字段映射中所有配置信息,一旦切换无法撤销,需谨慎操作。
字段映射支持数据转换,您可根据实际业务需求进行配置,将源端采集的数据,事先对其进行各种数据转换操作后,以指定格式输入到目标端数据库中,满足不同业务场景需求。
转换模式可应用于各种轻量级数据处理场景,如:
按需配置数据来源和目标端数据信息后,单击“转换模式”按钮,进入转换模式配置界面,在转换模式中,您需依次配置:来源节点、数据转换、目标节点信息。
单击数据转换节点右侧添加按钮,选择 SQL 转换方式,配置转换信息和规则。
配置转换节点名称,您可自定义输入节点转换名称信息,只允许由数字、字母、下划线、-和.组成;且长度不能超过10。
输入 SQL 脚本转换规则,目前仅支持添加一个转换的 SQL 语句,且不能包括 “;”。
注意
输入的转换 SQL 语句仅支持 Flink 内部的 Flink SQL 语句,不支持源端或目标端数据源类型的 SQL 语法。
以下是 Flink SQL 相关的转换示例(假设源表名为 Source):
-- 字段重排序: 源表有 a, b, c 三个字段,但下游目的表只有 c, b 两个字段 SELECT c, b FROM Source -- 字段合并: 把源表的 first_name 字段和 last_name 字段用空格连接起来,并作为一个新的字段 full_name SELECT first_name || ' ' || last_name AS full_name FROM Source -- 字段拆分: 把源表的 full_name 字段根据空格做拆分,并产生 first_name 和 last_name 两个新字段 SELECT SPLIT_INDEX(full_name, ' ', 1) AS first_name, SPLIT_INDEX(full_name, ' ', 2) AS last_name FROM Source -- 判断 name 字段是否仅包含空白字符, 如果是的话就输出 NULL, 否则输出原字符串 SELECT CASE WHEN IS_SPACES(name) THEN NULL ELSE name END FROM Source
更多 SQL 节点支持的转换函数列表,详见Flink 1.11 系统函数、Flink 1.16 系统函数。
以下为内部特有的一些函数说明:
函数名 | 用途 | 返回值类型 | 示例 |
|---|---|---|---|
IS_NUMBER | 判断一个字符串是否是数字格式。 | Boolean | IS_NUMBER(price),如果 price 是 '1'、'2.3' 等数字格式的字符串,则返回 true |
IS_SPACES | 判断一个字符串是否全由空格字符组成。 | Boolean | IS_SPACES(name),如果 name 是 ' ' 等空格字符组成的字符串,则返回 true |
GET_JSON_OBJECT | 按照给定的 JSONPath 路径,从给定 JSON 字符串中提取相应的字段值。 如果获取不到给定的 JSONPath 路径,则返回 null 或者第三个参数指定的默认值(可选)。 | Object | GET_JSON_OBJECT(json_field, '$.b', 'None') :
|
转换信息配置完成后,单击确认按钮,在通过检查后,节点目录列表中的转换节点名称左侧灰点,也会变成绿点,表示转换节点配置完成;若未通过检查,则会有报错提示,需根据信息修改参数。
说明
目标节点的字段名称应当与上游 SQL 节点的输出字段保持一致,避免运行时异常。
例如上游是 SQL 转换节点,SQL 语句为 SELECT name || '-SUFFIX' AS new_name, address FROM Source,那么目标节点的字段需要为 new_name、address。
说明
基础模式您可通过以下几种方式操作字段映射关系:
说明
来源端字段信息支持输入数据库函数和常量配置,单击手动添加按钮,在源表字段中输入需添加的值,并选择函数或常量类型,例如:
说明
同名映射能力,仅部分数据源支持,如 FTP/SFTP、Elasticsearch数据源。
配置任务数据源信息时,各类型任务的高级参数设置项基本相同,如下图所示。
各任务数据处理高级参数设置说明如下表所示。
参数 | 说明 | |
|---|---|---|
开启高级参数设置 | 可选择是否要进行高级参数设置。开启设置后,会显示相应的设置参数。 | |
编辑模式 | 支持单行编辑模式和脚本编辑模式,脚本编辑支持JSON、Yaml格式填写参数。 当选择单行编辑模式时,需要设置相应的编辑参数。 | |
并发设置 | 并发数限制 | 任务内数据同步的并发数限制数量,有系统默认值、最大并发数、自定义并发数三个选项可设置。
|
数据清洗设置 | 数据清洗 | 可选择是否开启数据清洗。
|
流量测试设置 | 小流量测试 | 可选择是否开启小流量测试。当初次提交作业想验证数据正确性时,可开启小流量测试。 当选择开启时,需要设置测试条数。测试条数在1~10000之间,当每个并发运行到该条数时,任务会自行关闭。 |
单并发流控设置 | 流控清洗 | 流量控制支持用户自定义每一个并发的读写字节流控阈值,读写记录数流控阈值和读写流控等待阈值,默认关闭。读写字节和读写记录有一项满足要求即启动流控。 当选择开启时,需要设置以下参数:
根据测试结果,您可根据任务所需的qps快速配置读写流控参数,公式如下: 注意 如果需要进行多并发的精确流控,需要在任务自定义参数中加入job.common.slots_per_tm : 1,将每个Worker中的线程数设置为1。 |
自定义参数设置 | 参数设置 | 自定义参数支持用户更好地定制自己任务的运行方式。支持单行编辑模式和脚本编辑模式。
示例如下:
更多高级参数参考,详见高级参数。 |
离线数据集成任务的调度设置信息与离线数据开发任务的基本相同,相关描述可参见“调度设置”。
任务每次上线都会生成一个版本,可以对各版本进行查看、对比、回滚等操作。