历史版本42 :FineDataLink词汇表 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

本文对FineDataLink的特有概念进行解释说明,以便用户进行使用。

2. 功能模块名称编辑

包含数据开发、数据管道、任务运维等功能,满足用户对数据进行同步、处理、清洗等一系列的需求。

名称定位功能说明
数据开发数据定时同步和数据处理通过 SQL 或者可视化的方式,完成任务的开发和编排
数据管道数据实时同步在数据库数据量大或表结构规范的情况下,实现高性能的实时数据同步。
数据服务API 发布,实现数据跨域传输通过 FineDataLink 发布接口,将加工、融合后的标准数据,封装为规范化API接口,供外部系统调用。
任务运维定时任务、管道任务对任务进行集中管理和运行监控,提供任务的总览

3. 数据开发编辑

数据开发模块用于定义周期调度任务的开发及调度属性,与任务运维配合使用,提供可视化开发主界面,帮助您轻松构建离线数仓,保证数据生产的高效稳定。

数据开发模块提供了多种类型节点,同时,多种类型节点支持周期性任务调度,可基于业务需要选择合适的节点进行相关开发操作。

3.1 文件夹

存放数据开发任务的文件夹,一个文件夹下可存放多个定时任务。

3.2 定时任务

定时任务是对数据执行的操作的定义,示例如下:

  • 通过数据同步节点任务,将数据从 MySQL 同步至 Oracle 。

  • 通过数据转换、循环容器等节点,将API 数据解析落库至指定数据库。

每个定时任务可以是数据流和步骤流单独节点,也可以是多节点组合。

3.3 节点

定时任务组成定时任务的基本单位,多个节点通过线条连接后可确定执行流程,进而组成一个完整的定时任务。
根据节点间的依赖关系依次运行各个节点。

3.4 数据流

在「数据转换节点中进行 ETL 处理,提供封装好的可视化功能,实现高效的数据清洗处理和装载。

定位
功能界限
从输入控件(Input)到输出控件(Output)之间的数据流动,针对的是在数据流动过程中的每一行记录、每一列数据的处理。数据流里提供了各类算子,可以完成数据的输入、输出、转换等操作

数据流(数据转换节点)里只提供以下三类算子,不应该包含组合型、流程类的算子:

1647570802832123.png

  • 流出型算子举例:DB表输入

  • 过程算子举例:数据关联

  • 流入型算子举例:DB表输出

数据转换节点中涉及到的名称解释如下表所示:

归类
功能点类型定位功能说明起始版本
输入
DB表输入基础读取数据库表的数据-3.0
API输入基础通过API读取数据-3.0
数据集输入基础读取服务器数据集或者自助数据集里的数据-3.0
简道云输入基础满足简道云数据下云进行备份、计算、分析和展示的需求实现获取指定简道云表单数据的功能4.0.2
MongoDB输入基础满足接入 MongoDB 数据源进行数据处理的需求-4.0.4.1
SAP 输入基础通过 RFC 接口调用 SAP 系统内已经开发好的函数,并将数据取出。-4.0.10
文件输入基础读取指定来源与路径的结构化文件数据。实现读取指定来源与路径的结构化文件获取数据的功能。4.0.14
输出DB表输出基础将数据输出到数据库表-3.0
比对删除基础将来源表中「数据删除」这一变化同步至目标表

通过字段值对比,对目标表中存在,但是输入源中不存在的数据行进行删除。包含:

  • 物理删除:会实际删除数据

  • 逻辑删除:不删除数据,只做删除标记

3.2

注:4.0.18 版本删除该算子

参数输出基础将取到的数据输出为参数,供下游节点使用将数据作为参数输出,供任务内下游节点使用4.0.13
API输出基础将数据输出到API
4.0.19
简道云输出
高级将数据输出到简道云表单
将数据上传至简道云指定表单4.0.20
连接
数据关联高级用于将多个输入进行连接,并输出连接后的结果

支持跨库、跨源的连接

连接方式主要有以下几种:
  • 左连接(LEFT JOIN)

  • 右连接(RIGHT JOIN)

  • 内连接(INNER JOIN)

  • 全连接(FULL OUTER JOIN)

这些连接方式与数据库里表连接的方式一致,通过确定关联字段和关联条件,最后得到匹配连接后的结果集。连接的输入是两个以上,输出只有一个

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
实验室Spark SQL高级核心作用是通过提供灵活的Spark SQL,提高场景覆盖率内置的有Spark 计算引擎,通过提供Spark SQL算子,用户可以:

获取上游输出的数据,使用Spark SQL对其进行查询和处理,并输出给下游

3.6

4.0.17 支持作为输入型算子

Python高级-可调用 Python 脚本进行复杂数据处理4.0.29

3.5 步骤流

步骤是由一个个节点组成。

定位功能界限
步骤流也叫工作流,工作流是对步骤进行编排,每个步骤都是相对独立的,只有执行的先后顺序区别,不会存在数据行的流动

步骤都要是闭环的,每一个步骤都是闭环:

2.png

步骤中涉及到的名称解释如下表所示:

归类功能点类型定位功能说明起始版本
通用数据同步基础
快速完成数据同步(输入、输出),不支持在数据同步过程中做数据转换

支持多种类型的取数方式:API 取数、SQL 取数、文件取数等。由于无过程中的数据处理,所以不需要内存计算,适用于:

  • 数据表的快速同步

  • 取数时即可完成计算,过程中不需要计算、转换的场景

  • 目标库计算能力较强的场景\数据量非常大的场景,同步到目标数据库,再使用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
流程条件分支基础用于在步骤流中进行条件判断基于一个来自于上游或者系统的条件,判断是否继续运行下游的节点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.6 字段映射

字段映射就是查看或修改源表跟目标表的字段关系,设置目标表数据写入规则。

3.7 并发数

并发数是在 FineDataLink 中同时运行的定时任务和管道任务数

为保证并发传输高性能表现,CPU线程数可略大于需并发任务数*2

4. 数据管道编辑

FineDataLink 数据管道提供的实时数据同步功能,方便使用单表或整库同步方式,将源端数据库中部分或全部表的数据变化实时同步至目标数据库中,实现目标库实时保持和源库的数据对应。

4.1 传输队列

在进行实时同步过程中,需要通过「数据管道」暂存来源数据库中的数据,便于目标数据库写入数据,实现实时数据同步。

因此在设置数据管道任务前需要首先配置好暂存数据的中间件。FineDataLink 使用 Kafka 作为数据同步的中间件,暂存传输数据。

4.2 脏数据

4.2.1 定时任务中脏数据定义

1)与目标字段配置不匹配而无法写入的数据(目标字段长度/类型不匹配、目标字段缺失、违反目标字段非空约束等)。

2)当写入方式-主键冲突策略为「主键相同,记录为脏数据」时,主键冲突的数据将被视为脏数据。

4.2.2 管道任务中脏数据定义

与目标字段配置不匹配而无法写入的数据(目标字段长度/类型不匹配、目标字段缺失、违反目标字段非空约束等)。

注:对于管道任务,主键冲突不会产生脏数据,主键相同的数据,新数据将覆盖旧数据。

5. 数据服务编辑

数据服务支持将处理好的数据一键发布 API 接口,实现数据跨域传输,解决数据传输最后一公里问题,为用户提供数据共享能力。

5.1 APPCode

FineDataLink 特有的 API 鉴权认证方式。APPCode可视为长期有效的一种Token。若设置后对指定应用 API 生效。

在访问API时,需要在请求头中指定Authorization请求头的值:APPCode + 空格 + APPCode值。

详情参见:进行认证配置