1. 概述
本文对 FineDataLink 的特有概念进行解释说明,以便用户进行使用。
2. 功能模块名称
包含数据开发、数据管道、数据服务、任务运维等功能,满足用户对数据进行同步、处理、清洗等一系列的需求。
名称 | 定位 | 功能说明 |
---|---|---|
数据开发 | 数据定时同步或实时同步,能对数据进行计算处理 | 通过 SQL 或者可视化的方式,完成任务的开发和编排 实时任务说明请参见:实时任务概述 |
数据管道 | 数据实时同步,表数据原样同步到目标表中,不支持对数据进行计算处理 | 在数据库数据量大或表结构规范的情况下,实现高性能的实时数据同步 |
数据服务 | 发布一个 API,实现数据跨域传输 | 通过 FineDataLink 发布接口,将加工、融合后的标准数据,封装为规范化API 接口,供外部系统调用 |
任务运维 | 定时任务运维、管道任务运维、数据服务运维 | 对任务进行集中管理和运行监控,提供任务的总览 |
数据中心 | 库表管理、血缘分析 | 1)库表管理:
2)血缘分析: 可查看数据开发任务、管道任务、数据服务中,所使用表的血缘关系 |
管理系统 | 管理系统简介 | 可对 FineDataLink 的用户、功能模块权限、外观、数据连接等进行管理 |
数据连接 | 数据连接概述 | 在使用 FineDataLink 处理、同步数据前,您需要先定义数据连接,以便在执行数据处理操作时,通过「数据库>数据连接名称>数据表」,来确定数据的读取和写入位置 |
3. 数据开发-定时任务
3.1 生产模式、开发模式
定时任务支持开发模式和生产模式,实现代码的隔离。如下图所示:
详情请参见:开发模式与生产模式
开发模式:
开发模式相当于任务的测试环境,用户可进行任务的设计编辑;所有的修改都不会影响生产模式的任务;开发模式的任务,可发布到生产模式。
生产模式:
生产模式相当于任务的稳定版本,仅支持任务查看,可基于该版本编辑调度实现任务的定时调度;生产模式的任务,可由开发模式的任务发布得到;可前往运维中心的 任务管理界面 筛选已发布和待发布任务。
3.2 文件夹
一个文件夹可包含多个定时任务OR实时任务。如下图所示:
3.3 定时任务&实时任务
数据开发模块中支持开发两种类型的任务:
1)定时任务
定时任务来源端和目标端支持三十多种数据源类型,详情请参见:数据开发支持的数据源类型
定时任务中,支持在可视化界面使用各个节点和算子进行数据的抽取、转换和装载,并可以通过定时调度功能自动运行定时任务,帮助您轻松构建离线数仓,保证数据生产的高效稳定。
2)实时任务
实时任务能够实时地把数据从 A 点投递到 B 点。在投递的过程中可能添加数据清洗的工作,例如实时数仓中的数据解析等。最终结果可供后续业务使用,以提高数据利用率和时效性,满足业务需求。
详情请参见:实时任务概述
3.4 节点
FDL 文档的描述中,默认「数据转换」节点内包含的节点为算子(不包含「数据转换」节点本身);「数据转换」节点以及「数据转换」节点外的节点称为节点。
组成定时任务的基本单位,多个节点通过线条连接后可确定执行流程,进而组成一个完整的定时任务。
根据节点间的依赖关系依次运行各个节点。
3.5 数据流
在「数据转换」节点中进行 ETL 处理,提供封装好的可视化功能,实现高效的数据清洗处理和装载。
定位 | 功能界限 |
---|---|
从输入控件(Input)到输出控件(Output)之间的数据流动,针对的是在数据流动过程中的每一行记录、每一列数据的处理。数据流里提供了各类算子,可以完成数据的输入、输出、转换等操作 | 数据流(数据转换节点)里只提供以下三类算子,不应该包含组合型、流程类的算子:
|
数据转换节点中涉及到的名称解释如下表所示:
归类 | 功能点 | 注册功能类型 | 定位 | 功能说明 | 起始版本 |
---|---|---|---|---|---|
输入 | DB表输入 | - | 读取数据库表的数据 | - | 3.0 |
API输入 | 进阶数据源控制-接口协议(定时) | 通过API读取数据 | - | 3.0 | |
数据集输入 | 基础数据源控制 | 读取服务器数据集或者自助数据集里的数据 | - | 3.0 | |
简道云输入 | 进阶数据源-应用连接器(定时) | 满足简道云数据下云进行备份、计算、分析和展示的需求 | 实现获取指定简道云表单数据的功能 | 4.0.2 | |
MongoDB输入 | 进阶数据源控制-NoSQL | 满足接入 MongoDB 数据源进行数据处理的需求 | - | 4.0.4.1 | |
SAP 输入 | 进阶数据源控制-应用连接器(定时) | 通过 RFC 接口调用 SAP 系统内已经开发好的函数,并将数据取出。 | - | 4.0.10 | |
文件输入 | 进阶数据源控制-文件系统 | 读取指定来源与路径的结构化文件数据。 | 实现读取指定来源与路径的结构化文件获取数据的功能。 | 4.0.14 | |
输出 | DB表输出 | - | 将数据输出到数据库表 | - | 3.0 |
DB输出(事务) | 联系技术支持获取 | 支持失败回滚 | 定时任务写入数据库时支持失败回滚,即任务执行失败后不会对目标表产生影响 | 4.1.5.2 | |
比对删除 | 将来源表中「数据删除」这一变化同步至目标表 | 通过字段值对比,对目标表中存在,但是输入源中不存在的数据行进行删除。包含:
| 3.2 注:4.0.18 版本删除该算子 | ||
参数输出 | 数据转换-基础 | 将取到的数据输出为参数,供下游节点使用 | 将数据作为参数输出,供任务内下游节点使用 | 4.0.13 | |
API输出 | 进阶数据源控制-接口协议(定时) | 将数据输出到API | 4.0.19 | ||
简道云输出 | 进阶数据源-应用连接器(定时) | 将数据输出到简道云表单 | 将数据上传至简道云指定表单 | 4.0.20 | |
文件输出 | 进阶数据源控制-文件系统 | 将数据输出为文件 | 将数据输出到指定目标与路径的结构化文件中 | 4.0.26 | |
MongoDB输出 | 进阶数据源控制-NoSQL | 将数据输出到 MongoDB | 将数据输出到 MongoDB | 4.1.6.4 | |
数据集输出 | 基础数据源控制 | 对远程的Fine+「公共数据」创建ETL结果表并写入数据 | 支持往本地或远程公共数据中,自动创建ETL结果表,并做数据的增删改操作。 | 4.1.8.2 | |
连接 | 数据关联 | 数据转换-高级 | 用于将多个输入进行连接,并输出连接后的结果 支持跨库、跨源的连接 | 连接方式主要有以下几种:
这些连接方式与数据库里表连接的方式一致,通过确定关联字段和关联条件,最后得到匹配连接后的结果集。连接的输入是两个以上,输出只有一个 | 3.1 |
数据比对 | 数据转换-高级 | 将 2 个输入的数据进行比较,筛选出新增、删除、相同、不相同的数据 | 使用路径:
| 4.0.18 | |
上下合并 | 数据转换-高级 | - | 可对多张表进行上下行合并,输出一张合并表 | 4.1.0 | |
转换 | 字段设置 | 数据转换-高级 | 满足字段名称、类型调整的需求 | 提供以下功能:
| 3.7 |
列转行 | 数据转换-高级 | 实现数据表行列结构的改变,满足一维表和二维表之间转换的需求 | 对输入的数据表进行列转行操作:
| 3.5 | |
行转列 | 数据转换-高级 | 实现数据表行列结构的改变,行转列 | 对输入的数据表进行行转列操作。
| 4.0.15 | |
JSON解析 | 数据转换-基础 | 用于解析 JSON 结构的数据,输出行列格式的数据 | 通过获取上游输出的 JSON 数据,按照 JSONPath 的规范将其自定义解析成需要的字段并输出给下游 | 3.5 | |
XML解析 | 数据转换-高级 | 支持指定解析策略,将输入的XML数据解析为行列形式的数据 | 支持指定解析策略,将输入的XML数据解析为行列形式的数据。 | 4.0.9 | |
JSON生成 | 数据转换-高级 | 选择字段,生成JSON对象 | 选择字段,将表单数据,转换为生成多个JSON对象,用户可以在其中配置多层JSON嵌套 | 4.0.19 | |
新增计算列 | 数据转换-高级 | 通过计算生成新列 | 支持对常量、参数和其他字段进行公式计算或逻辑映射,将结果放到新的一列,参与后续运算或进行输出 | 4.0.23 | |
数据过滤 | 数据转换-高级 | 过滤符合条件的数据记录 | 过滤符合条件的数据记录 | 4.0.19 | |
分组汇总 | 数据转换-高级 | 指定维度聚合计算 | 对原始数据根据条件将相同的数据先合并到一组,然后按照分组后的数据进行汇总计算 | 4.1.2 | |
字段拆行 | 数据转换-高级 | 字段值按照特定规则(分隔符)拆分,拆分后的结果形成新的一列字段和值 | 4.1.2 | ||
字段拆列 | 数据转换-高级 | 字段值按照特定规则(分隔符或字符数)拆分,拆分后的结果形成新的多列字段和值 | 4.1.2 | ||
实验室 | Spark SQL | 数据转换-高级 | 核心作用是通过提供灵活的Spark SQL,提高场景覆盖率 | 内置的有Spark 计算引擎,通过提供Spark SQL算子,用户可以: 获取上游输出的数据,使用Spark SQL对其进行查询和处理,并输出给下游 | 3.6 4.0.17 支持作为输入型算子 |
Python算子 | 数据转换-高级 | - | 可调用 Python 脚本进行复杂数据处理 | 4.0.29 |
3.6 步骤流
步骤是由一个个节点组成。
定位 | 功能界限 |
---|---|
步骤流也叫工作流,工作流是对步骤进行编排,每个步骤都是相对独立的,只有执行的先后顺序区别,不会存在数据行的流动 | 步骤都要是闭环的,每一个步骤都是闭环: |
步骤中涉及到的名称解释如下表所示:
归类 | 节点 | 类型 | 定位 | 功能说明 | 起始版本 |
---|---|---|---|---|---|
通用 | 数据同步 | 基础 | 快速完成数据同步(输入、输出),不支持在数据同步过程中做数据转换 | 支持多种类型的取数方式:API 取数、SQL 取数、文件取数等。由于无过程中的数据处理,所以不需要内存计算,适用于:
| 1.0 |
数据转换 | 基础 | 满足表输入和表输出之间需要做数据转换、处理的场景 注:数据转换本身也是一个步骤流节点。 | 在数据同步的基础上,支持在表输入和表输出之间做数据关联、数据转换、数据清洗等复杂数据处理和转换 本质上是数据流,由于过程中涉及到数据处理,需要依赖内存计算引擎,适用于小数据量(千万及以下)的数据开发,并且计算性能与内存配置有相关性 | 3.0 | |
脚本 | SQL 脚本 | 基础 | 将 SQL 语句发放到指定的关系型数据库上并执行 | 通过写 SQL 的形式,完成对表和数据的处理,例如:创建、更新、删除、读取、关联、汇总等操作时 | 1.0 |
Shell 脚本 | 高级 | 使用远程SSH连接,调用远程环境里的可执行Shell脚本 | 通过使用配置好的远程SSH连接,可以选择调用远程环境里的可执行脚sh脚本。 | 4.0.8 | |
Python脚本 | 高级 | 支持直接调用 Python 脚本,当做数据开发任务的能力扩展,比如现在不支持某些文件格式的数据读取方式,先用 Python 程序进行独立的数据处理 | 通过 ssh 连接,配置 Python 文件的文件目录和输入参数,调用 Python 脚本 | 4.0.28 | |
Bat脚本 | 高级 | 使用远程连接,调用远程环境里的可执行bat脚本 | 通过使用配置好的远程连接,可以选择调用远程win环境里的可执行脚bat脚本 | 4.0.29 | |
Kettle调用 | 高级 | 使用SSH连接,调用指定路径下的kettle任务 | 通过使用配置好的SSH连接,可以选择调用指定服务器环境里的可执行kettle任务。 | 4.1.9.3 | |
流程 | 条件分支 | 基础 | 用于在步骤流中进行条件判断 | 基于一个来自于上游或者系统的条件,判断是否继续运行下游的节点 | 2.0 |
调用任务 | 基础 | 调用其他任务,完成跨任务的编排 | 可以调用任意一个任务,被调用的任务被放到当前任务里编排 | 3.2 | |
虚拟节点 | 基础 | 空操作 | 虚拟节点即空操作,可以用于串联上下游都是多分支的场景,也可以用作流程设计 | 1.4 | |
循环容器 | 高级 | 满足多个节点循环执行的场景 | 提供一个循环容器,支持:遍历循环、条件循环 可以让容器内的节点进行循环执行 | 4.0.3.1 | |
参数赋值 | 基础 | 将获取的数据作参数输出 | 可以将读取的数据作为参数输出给下游节点使用 | 1.7 | |
通知 | 消息通知 | 基础 | 自定义通知内容和通知渠道 | 通知渠道:邮件通知、短信通知、平台通知、企业微信通知(群机器人、应用通知)、钉钉通知 通知内容:可自定义 | V3.6 V4.0.1 V4.0.3 |
连线 | 节点连线执行判断 | 基础 | 对上下游执行逻辑进行设置 | 在 步骤流 中,右键点击节点连线,提供「无条件执行」、「成功时执行」、「报错时执行」的节点连线配置 在 步骤流 中,右键点击节点,新增「执行判断」按钮,支持自定义多执行条件的生效方式(全部逻辑与、全部逻辑或),灵活控制任务中节点的依赖关系 | 4.0.3 |
其他 | 备注说明 | 基础 | 在画布中为任务添加备注 | 自定义内容、自定义格式 | 4.0.4 |
3.7 任务实例
定时任务每运行一次,会生成一个实例,生成的实例可在 定时任务运维-运行记录 中查看。
3.8 实例开始构建时间
任务运行时,日志中会输出「实例开始构建时间」。如下图所示:
定时任务若设置了 执行频率 ,调度的时间可能会略早于「实例开始构建时间」。例如设置每天 11:00:00 执行任务,「实例开始构建时间」可能是 11:00:02 。
定时任务日志说明请参见:定时任务运行日志介绍
3.9 增量更新、全量更新、比对更新
具体方案请参见:数据同步方案概述
1)增量更新:
来源表数据只存在新增,将新增数据写入到目标表中。
2)全量更新
对目标表数据进行全面的更新,将已有目标表数据全部换成最新来源表数据。
3)比对更新
来源表数据存在新增、修改、删除。
3.10 拉链表
维护历史状态,以及最新状态数据的一种表;通过拉链表可以很方便的还原出拉链时点的客户记录。适用于需要记录数据变更历史的场景,如审计、溯源等。
FDL 中制作拉链表详情请参见:数仓拉链表(来源表数据小于10000)、数仓拉链表(来源表数据大于10000)
3.11 标识值、标识字段
标识字段标记了数据的新增、修改、删除。
标识值为标识字段的值,不同值代表数据的不同变化。
数据输出时,根据标识字段和标识值,实现数据的增删改。
1)场景一:标识字段和标识值由「数据比对」算子生成
「数据比对+DB表输出/简道云输出」实现数据的增删改时,一般使用 fdl_comparison_type(数据比对算子自动新增的字段)作为标识字段,该字段默认值为Identical(相同)、Changed(更新)、Added(新增)、Removed(删除),这些默认值为标识值。
如下图所示:
2)场景二:来源表已有标识值、标识字段,需要对数据进行追加/更新/删除操作
详情请参见:数据同步-基于标识字段,新增/修改/删除数据
来源表「产品」中,「状态」列为标识列,值为「热销」时做新增操作,值为「一般」时做删除操作,值为「火爆」时做更新操作。
源表中将产品ID为 15 的新增数据标记为「热销」,产品ID为 16 的删除数据标记为「一般」,产品ID为 14 的更新数据标记为「火爆」,希望能将数据变化同步到目标表中。
3.12 并行取数
在数据量很大时,开启「并行取数」,可提高读取数据的速度。
详情请参见:数据同步-数据来源
3.13 运行日志、运行记录
3.13.1 定时任务
1)运行日志
定时任务运行后,可在「日志」Tab 下看到运行日志,用户可根据日志查看是否运行成功、具体出错原因。如下图所示:
日志的详细程度可在 日志等级设置功能 中设置。
2)运行记录
可在 定时任务运维-运行记录 中查看任务的运行情况,例如:运行状态、任务耗时、触发方式等。
3.13.2 管道任务
管道任务运行后,支持查看运行日志。详情请参见:单个管道任务管理
管道任务运行记录请参见:管道任务运维
3.14 回滚
在数据同步时,当历史数据量很大,为保证数据的时效性,需要对数据定时进行增量更新。
在增量更新过程中,若遇到字段异常值、脏数据等问题,将导致数据同步一段时间后任务失败。此时目标表中已同步了部分数据,需要将目标表进行数据回滚到此次增量更新前的数据。
FDL 提供功能支持该场景:详情请参见:DB输出(事务)(4.1.5.2 及之后版本)
文档方案支持该场景:数据抽取失败后进行数据回滚
3.15 优先级
可为定时任务设置执行优先级,任务运行的优先级,分五个等级:最高(HIGHEST),高(HIGH),中(MEDIUM),低(LOW),最低(LOWEST)。
当线程数不足时,优先执行队列中级别高的流,相同优先级的任务按照先进先出的顺序执行。
详情请参见:任务控制-任务属性
3.16 执行频率
定时任务支持设置执行频率,定期自动运行定时任务,以保证数据能够及时更新。
详情请参见:调度计划概述
3.17 重试任务
重试任务功能详细介绍请参见:重试任务
以下场景中,需要使用到重试任务功能:
1)用户设计的定时任务取数逻辑为:每天抽取当天调度时间往前推 24h 内的数据,汇集到目标数据库。节假日期间 3 天,系统宕机,定时任务没有运行,导致目标数据库缺少 3 天的数据。
具体示例请参见:补数据示例
2)定时任务在运行过程中某个输出组件出现脏数据,在 配置脏数据阈值 后,定时任务不会停止;定时任务运行结束后运维人员收到推送,发现有脏数据产生。
运维人员打开脏数据处理界面,查看脏数据产生的原因,发现脏数据原因是字段超长,修改目标端字段长度后,希望重新运行任务。
4. 数据管道
FineDataLink 数据管道提供的实时数据同步功能,方便使用单表或整库同步方式,将源端数据库中部分或全部表的数据变化实时同步至目标数据库中,实现目标库实时保持和源库的数据对应。
4.1 传输队列
在进行实时同步过程中,需要通过「数据管道」暂存来源数据库中的数据,便于目标数据库写入数据,实现实时数据同步。
因此在设置数据管道任务前需要首先配置好暂存数据的中间件。FineDataLink 使用 Kafka 作为数据同步的中间件,暂存传输数据。
4.2 断点续传
若管道任务失败,支持断点续传:若全量同步未完成,会从头全量同步;若全量同步已完成,会从断点开始。
断点续传示例:
管道任务在 03-21 日读取了数据,03-23 日停掉,03-27 日启动,03-23 到 03-27 日的数据会同步过去。
4.3 binlog、CDC
4.3.1 binlog
MySQL 的二进制日志(binary log,简称 binlog)是 MySQL 数据库中的一个重要特性,它记录了所有对数据库执行更改的 SQL 语句(如 INSERT、UPDATE、DELETE 等),以及每个语句执行的确切时间。二进制日志是 MySQL 数据复制、数据恢复和审计分析的基础。
FDL 中,使用数据管道功能,且来源端为 MySQL 时,需要开启 Binlog 模式 CDC 功能。详情请参见:MySQL环境准备
4.3.2 CDC
CDC 是指从源数据库捕获到数据和数据结构(也称为模式)的增量变更,近乎实时地将这些变更,传播到其他数据库或应用程序中。通过这种方式,CDC 能够向数据仓库提供高效、低延迟的数据传输,以便信息被及时转换并交付给专供分析的应用程序。
4.4 逻辑删除和物理删除
物理删除:来源表删除数据,目标表也删除数据。
逻辑删除:目标表中该数据未被实际删除,而是使用标记列标记被删除的数据。
具体效果请参见:物理删除和逻辑删除的区别
5. 数据服务
数据服务支持将处理好的数据一键发布 API 接口,实现数据跨域传输,解决数据传输最后一公里问题,为用户提供数据共享能力。
5.1 APPCode
FineDataLink 特有的 API 鉴权认证方式。APPCode可视为长期有效的一种Token。若设置后对指定应用 API 生效。
在访问API时,需要在请求头中指定Authorization请求头的值:APPCode + 空格 + APPCode值。
详情参见:进行认证配置
6. 通用
6.1 并发数
并发数是指:最多能启动的定时任务数、最多能启动的管道任务数。
定时任务并发数说明请参见:数据开发并发数与脏数据说明
管道任务并发数说明请参见:数据管道并发数说明
6.2 字段映射
字段映射就是建立「来源端-目标端」的字段对应关系。详情请参见:设置字段映射
来源表若有多个字段,可以只将来源表的部分字段更新到目标表中,不需要更新到目标表的字段取消映射即可。
映射方式分为两种:
6.3 脏数据
6.3.1 定时任务中脏数据定义
1)与目标字段配置不匹配而无法写入的数据(目标字段长度/类型不匹配、目标字段缺失、违反目标字段非空约束等)。
2)当写入方式-主键冲突策略为「主键相同,记录为脏数据」时,主键冲突的数据将被视为脏数据。
6.3.2 管道任务中脏数据定义
与目标字段配置不匹配而无法写入的数据(目标字段长度/类型不匹配、目标字段缺失、违反目标字段非空约束等)。
注:对于管道任务,主键冲突不会产生脏数据,主键相同的数据,新数据将覆盖旧数据。
6.4 血缘分析
FDL 支持查看数据开发任务、管道任务、数据服务中,所使用表的血缘关系。如下图所示:
详情请参见:血缘分析
6.5 DDL
在数据库管理系统中,DDL(Data Definition Language)是一组用于定义和修改数据库架构的语言。
DDL 的常见语句包括:
CREATE:用于创建新的数据库对象。
ALTER:用于修改现有数据库对象的结构。
DROP:用于删除数据库对象。
TRUNCATE:用于快速删除表中的所有行,但保留表结构。
DDL 是数据库管理员和开发者用来设计和维护数据库架构的关键工具。
FDL 中 DDL 同步是指在数据管道任务中,当源库发生 DDL 操作(如删除表、新增字段、删除字段、修改字段名称、修改字段类型等)时,可以自动同步这些来源端的变化至目标端,无需人为介入修改目标表结构的功能。这种同步机制确保了数据结构的一致性,减少了手动维护的工作量。
详情请参见:数据管道-同步源表结构变化
6.6 逻辑主键、物理主键
实际应用中,根据逻辑主键或者物理主键确定数据的唯一性,实现数据的更新、删除、新增。
6.6.1 逻辑主键
由业务逻辑决定的主键,可以根据业务需求定义多个字段的组合作为主键。逻辑主键的优势是能够满足业务规则的要求,确保数据的唯一性。例如一个员工表,其逻辑主键可以是员工号、身份证号或者其他唯一标识符。
6.6.2 物理主键
数据库通过自增长或唯一索引等方式为每条记录生成一个唯一标识符作为主键。物理主键的优势是简单高效,不需要依赖业务逻辑。
逻辑主键、物理主键区别可自行百度了解。
6.7 失败重试
由于当时的网络波动或者其他原因,导致任务运行中断,过段时间重新运行任务即可成功执行。针对此场景,可在「失败重试」中设置重跑次数和两次重跑之间的间隔,任务在失败之后会进行自动重试。
6.8 编辑锁
FDL 提供任务编辑锁,定时任务、管道任务、API任务、数据服务应用禁止被多人同时编辑。
用户编辑某个任务时,其他用户也打开该任务,则会提示:当前任务/API/应用正在被XX编辑,其他人无法编辑该任务,只能查看。
详情请参见:任务禁止被多人同时编辑
6.9 日志级别
FDL 中日志级别可选择 ERROR、WARN、INFO。
日志级别大小排序(严重程度):ERROR>WARN>INFO
日志详细程度排序:ERROR<WARN<INFO
定时任务中日志级别说明请参见:任务控制-任务属性
管道任务中日志级别说明请参见:配置管道任务-管道控制
6.10 脏数据容忍、脏数据阈值
6.10.1 定时任务
用户可设置「脏数据阈值」,使任务具备一定容错性。当任务运行时遇到脏数据,达到「脏数据阈值」前将继续执行定时任务,达到「脏数据阈值」后再报错。
定时任务中该功能说明请参见:脏数据容忍
6.10.2 管道任务
数据同步允许一定的容错,比如字段类型、长度不匹配、主键冲突等等问题,可以设置产生的 脏数据上限,达到上限则自动终止管道任务。
用户设置脏数据阈值1000条,当某次任务运行期间脏数据达到1000条后,任务会异常中止;脏数据阈值的定义是,某个任务自建立至今的整体阈值。
详情请参见:配置管道任务-管道控制
7. 管理系统
7.1 功能点
数据源使用、数据管道、数据服务、数据开发、库表管理、血缘分析、管理系统、信创平台等功能,正式工程使用前需要注册相关功能点。详情请参见:注册简介
7.2 外置库、内置数据库
FineDataLink 工程中的平台配置信息,如管道任务、定时任务、权限控制、系统管理信息等,均存储于 FineDB 数据库。FineDataLink 工程内置了一个 HSQL 数据库,作为 FineDB 数据库。
HSQL 数据库不能多线程访问,集群环境、数据量较大可能会导致 HSQL 数据库不稳定的情况,适用于本地试用产品功能。
FineDataLink 支持启用外接 FineDB 数据库。详情请参见:配置外接数据库
正式工程必须配置外接数据库。
8. 其他
8.1 子表单
子表单为简道云表单中的概念,详情请参见:子表单
9. 数据开发-实时任务
实时任务涉及到的名称解释如下表所示:
归类 | 功能点 | 注册功能类型 | 定位 | 功能说明 | 起始版本 | |
---|---|---|---|---|---|---|
输入 | 实时数据源 | kafka输入 | 实时任务-基础算子包 | 实时读取Kafka中数据 | - | 4.1.11.4 |
CDC输入 | 实时任务-基础算子包 | 实时获取数据库的数据变更操作 | - | 4.1.11.4 | ||
pulsar输入 | 随数据源售卖和控制——消息队列 | 实时读取pulsar中的数据 | - | 4.1.11.4 | ||
MQTT输入 | 实时读取MQTT中的数据 | - | 4.1.13.2 | |||
IBM MQ输入 | 进阶数据源控制-NoSQL | 满足接入 MongoDB 数据源进行数据处理的需求 | - | 4.1.13.2 | ||
维度数据源 | 维度表输入 | 实时任务-基础算子包 | 读取DB表数据,与实时数据源进行关联后补充信息 | 读取DB表数据后,与实时数据关联,补充实时数据的信息 | 4.1.13.4 | |
输出 | DB表输出(实时任务) | 实时任务-基础算子包 | 将数据输出到关系型数据库表 | - | 4.1.11.4 | |
Kafka输出 | 实时任务-基础算子包 | 将数据输出到kafka中 | - | 4.1.11.4 | ||
连接 | 数据关联 | 实时任务-基础算子包 | 用于将多个输入进行连接,并输出连接后的结果 支持跨库、跨源的连接 | 连接方式主要有以下几种:
| 4.1.13.4 | |
转换 | 字段设置 | 实时任务-高级算子包 | 满足字段名称、类型调整的需求 | 提供以下功能:
| 4.1.11.4 | |
列转行 | 实时任务-高级算子包 | 实现数据表行列结构的改变,满足一维表和二维表之间转换的需求 | 对输入的数据表进行列转行操作:
| 4.1.13.4 | ||
JSON解析 | 实时任务-基础算子包 | 用于解析 JSON 结构的数据,输出行列格式的数据 | 通过获取上游输出的 JSON 数据,按照 JSONPath 的规范将其自定义解析成需要的字段并输出给下游 | 4.1.11.4 | ||
XML解析 | 实时任务-高级算子包 | 支持指定解析策略,将输入的XML数据解析为行列形式的数据 | 支持指定解析策略,将输入的XML数据解析为行列形式的数据。 | 4.1.11.4 | ||
新增计算列 | 实时任务-高级算子包 | 通过计算生成新列 | 支持对常量、参数和其他字段进行公式计算或逻辑映射,将结果放到新的一列,参与后续运算或进行输出 | 4.1.11.4 | ||
数据过滤 | 实时任务-高级算子包 | 过滤符合条件的数据记录 | 过滤符合条件的数据记录 | 4.1.11.4 | ||
字段拆行 | 实时任务-高级算子包 | 字段值按照特定规则(分隔符)拆分,拆分后的结果形成新的一列字段和值 | 4.1.11.4 | |||
字段拆列 | 实时任务-高级算子包 | 字段值按照特定规则(分隔符或字符数)拆分,拆分后的结果形成新的多列字段和值 | 4.1.11.4 |