历史版本7 :集成部署下定时任务结果输出至FineBI 返回文档
编辑时间: 内容长度:图片数:目录数: 修改原因:

目录:

1. 概述编辑

1.1 版本

FineDataLink 版本功能变动
4.0.4.2「数据同步」节点和「DB表输出」算子的「数据去向」界面新增「在FineBI公共数据中自动创建ETL结果表」按钮,勾选配置后,ETL 任务输出时可快速同步数据到 FineBI
4.0.21勾选「在FineBI公共数据中自动创建ETL结果表」按钮后,表名称数据连接名_数据库表名调整为数据连接名_库名(模式名)_表名

1.2 应用场景

  • FineDataLink 与 FineBI 集成部署 时,用户希望 ETL 任务处理好的数据可以快速给 FineBI 使用。

  • 用户希望数仓/中间表数据更新后,FineBI 中抽取性质的基础表也更新,只需要给 ETL 任务配置一个调度,然后 FineBI 中的基础表数据就可以及时更新。

1.3 功能简介

  • ETL 任务输出时可快速同步数据到 FineBI。

  • 输出到 FineBI 的结果表,表属性若为抽取数据,表数据将跟随 ETL 任务更新。

2. 操作步骤编辑

示例数据:数学成绩.xls英语成绩.xls

本文示例操作:将「数学成绩」表和「英语成绩」表进行左连接,关联后的新表输出到 Oracle 数据库中,且将新表数据同步到 FineBI 中。

2.1 数据连接准备

在集成工程中,配置来源数据库和目标数据库,分别为:test_2、oracle 。其中,示例数据放在 test_2 数据库中;4.0.21 及之后版本,目标数据库不能为 MySQL 数据库,即数据不能输出到 MySQL 数据库中。如下图所示:

4.png

2.2 新建定时任务

1)新建定时任务,拖入「数据转换」节点。如下图所示:

6.png

2)点击进入「数据转换」节点。

2.3 数据输入

1)拖入「DB表输入」节点,读取「数学成绩」表数据。如下图所示:

7.png

2)再拖入一个「DB表输入」节点,读取「英语成绩」表数据。如下图所示:

8.png

2.4 设置数据关联

拖入「数据关联」算子,与两个「DB表输入」算子相连。

连接方式选择「左连接」,具体介绍可参见:数据关联;连接字段就是两张表的关联字段,可以设置多个,多个连接字段为且的关系,此处设置连接字段为「姓名」。如下图所示:

9.png

点击「数据预览」,可查看关联后的数据。

1686794184291360.png

此处看到姓名重复,可在「DB表输出」算子的「字段映射」中删除「姓名1」字段。

2.5 数据输出

1)拖入「DB表输出」算子,与「数据关联」算子相连。

2)将关联后的数据输出到 oracle 数据连接的 chengji 表中,chengji 表是选择「自动建表」生成的,写入方式选择「追加写入数据」。FineBI 输出配置如下:

  • 由于我们希望将处理好的数据也同步到 FineBI 中,所以勾选「在FineBI公共数据中自动创建ETL结果表」按钮。

  • 抽取数据:ETL 结果表将跟随 ETL 任务更新;实时数据:ETL 结果表本质为直连数据库表,实时读取表数据。此处我们选择「抽取数据」,FineBI 中的 ETL 结果表跟随 ETL 任务更新。

  • 表名称:4.0.21 之前版本,表名称默认为数据连接名_数据库表名;4.0.21 及之后版本,表名称默认为数据连接名_库名(模式名)_表名

  • 表存储路径:FineBI 中的 ETL 结果表保存在「公共数据」中的位置,本文示例是保存到「公共数据」中的「文档数据」文件夹中。

11.png

3)点击「字段映射」,删除「姓名1」字段。如下图所示:

13.png

4)点击右上角「保存」按钮。

2.6 结果展示

1)点击「保存并运行」按钮,任务运行成功后,日志如下图所示:

14.png

2)可以看到 Oracle 数据库中新增 chengji 表。如下图所示:

1686795990164905.png

3)点击「公共数据」,在「文档数据中可以看到etlwendywai_BItongbu表。如下图所示:

3. 功能说明编辑

3.1 设置项说明

可以将定时任务输出的数据,也同步到 FineBI 中。即任意一个抽取\实时的 ETL 结果表,必对应唯一一个数据连接中的数据库表。设置界面如下图所示:

1686796952373449.png


3.1.1 FineBI 输出配置位置说明

  • 「数据同步」节点的「数据去向」界面

  • 「DB表输出」算子的「数据去向」界面

这两个地方都存在「FineBI 输出配置」界面,即可以将定时任务输出的数据,也同步到 FineBI 中。

3.1.2 输出至BI

在 FineBI 公共数据中自动创建 ETL 结果表」按钮,默认不勾选,勾选后,在 FineBI 公共数据中自动创建 ETL 结果表。

3.1.3 表属性

抽取数据:ETL 结果表将跟随 ETL 任务更新。

实时数据:ETL 结果表本质为直连数据库表,实时读取表数据。

如果要创建的 ETL 结果表在 FineBI 中已有 DB 表(实时\抽取),那么禁止用户再创建同属性的 ETL 结果表。

3.1.4 表名称

直接显示表名,不可编辑。

1)表名称显示逻辑

  • 输出表在 FineBI 中不存在 ETL 结果表时需要新建,表名默认为数据连接名_数据库表名

  • 输出表在 FineBI 中已经存在对应的 ETL 结果表,那么直接获取对应的表名和路径。

2)表重命逻辑

建表时若遇到同名表,遇同名时加1,如果加1依然同名则加12,如果依然同名则加123,以此类推。

3.1.5 表存储路径

1)下面两种情况下表路径灰化,不能选择:

  • 首次运行后,输出表未变化时打开配置界面。

  • 进行配置时,已存在输出表对应的 ETL 结果表。

2)若用户手动移动 ETL 结果表到新的业务包,则打开 ETL 任务时,展示最新的路径。

3.2 输出到 FineBI 的结果表说明

1)编辑表

同 DB 表类型,可基于抽取过来的原始表做进一步编辑处理,支持的操作:选字段、字段类型转换、字段设置。

2)移动表

可以将 ETL 结果表移动到其他分组、业务包下,移动表不会更改表类型及其与 ETL 任务的连线。

3)血缘关系

  • 在 ETL 结果表中,可以快速打开 ETL 任务并定位至对应节点。

  • 支持快速跳转到数据平台中,打开对应的 ETL 任务。

4)关联视图

可以像其他表类型一样,配置关联视图。

5)更新逻辑

  • ETL 结果表不可配置单表更新,能够被 ETL 任务触发更新,能够跟随业务包、跟随全局更新。

  • ETL 结果表更新后,使用 ETL 结果表做的自助数据集等子孙表可以关联更新,此逻辑和 FineBI 的父表拉起子表的更新逻辑保持一致。

6)权限逻辑

与输出到 FineBI 结果表相关的权限有两个:

  • 权限1:ETL 任务的管理权限(包含了查看和编辑权限)

  • 权限2:FineBI 的权限,分组\业务包的管理权限和表的使用权限

场景在 ETL 任务中新建 FineBI 输出配置编辑 FineBI 输出配置(配置已存在,被其他有权限的人配置的)
具备权限1,不具备权限2无法操作

可在 ETL 任务中:查看配置,可删除配置

不可在 ETL 任务中调整配置,调整配置时会告知其无权限

具备权限2,不具备权限1无法操作(因为不能新建 ETL 任务)

不能查看 ETL 任务,因此也不能查看和编辑配置

可以在 FineBI 中正常使用 ETL 结果表

权限1和权限2都不具备无法操作无法操作
权限1和权限2都具备可操作可操作

7)其他说明

如果数据库中某张表已经被添加至 ETL 结果表,则不能再添加为 DB 表。

3.3 特殊场景处理策略

假设已存在下面情况:

来源数据连接:ODS1

来源表:Table_08

来源定时任务:Task_08

ETL结果表:Table08

场景
处理策略
新建了一个ETL任务 Task_09,其输出指向 Table08ETL结果表 Table_08 有两个ETL任务来源:Task_08、Task_09
将输出至BI的配置进行调整,将表属性从「抽取」改为「实时」

ETL结果表 Table_08 丢失了其来源的定时任务,将其标记为异常状态

任务再次运行时,会新建一张实时的 ETL 结果表 Table_081

用户删除了定时任务 Task_08

或者

用户修改了定时任务,输出端指向了 Table09

ETL结果表 Table_08 丢失了其来源的定时任务,将其标记为异常状态
用户删除了来源表 Table_08Task_08运行会报错,ETL结果表 Table_08也因此无法更新
用户删除了ETL结果表 Table08如果ETL任务里的配置还在,再次打开时表路径会填充,重新运行定时任务时新建一张ETL结果表
用户将 ETL 结果表 Table08 改成为了 Table888定时任务 Task_08 里的表名自动显示为最新,并且不影响 ETL 任务运行