全部文档
文档中心数据流3.0场景案例0201-上线迁移未结数据

0201-上线迁移未结数据

模拟发票和合同数据:ap_invoice.csv、contract.csv

使用连接器模拟旧系统数据库,环境与权限说明参见DEMO概述。

查看模拟数据:
1735794197251-0147c45f-71f6-473a-881c-bfb48ed27680

在本系统中,创建数据表元素,用于承接数据,以 MySQL 数据表为例。
1735799518687-5d3f9e21-c3ad-4292-a85d-a51d91941a50

1735799571917-19068ae4-428a-49e6-9be4-fa71885528ae

在开始节点后,依次添加数据集-连接器查询、数据表操作。

连接器查询节点用于获取旧系统的数据。
1735811832833-59cbf4f3-4335-47b2-95c0-672af27eea15

修改节点名称:
1735799723738-bbc7ad78-8d74-40dd-9b78-3f2f1534bbb8

节点配置,在查询SQL框中输入需要查询的 SQL 语句即可,可以点击右上角的调试,查看本节点的运行结果。
1735801048753-78288fec-0d33-4e1b-b0d4-0d1e0aa108cb

进阶:使用参数和变量

如果节点之间有执行的前后顺序,后续节点可以通过 Operator.nodeX.data 引用前序节点的运行结果,更多引用方式参见预置变量。

举个例子,本场景中,假设仅迁移 2024年及之后的合同,迁移的发票为关联了这些合同的,那么在查询发票数据时,需要引用到查询合同数据的结果:
1735811786583-ce07e17b-8760-48a2-b642-77eead85170c

用于在新系统中新增数据。

若您使用的系统还未发布数据表操作节点,可以使用PY代码节点替代这部分逻辑。

若您使用的系统还未发布数据表操作节点,可以使用PY代码节点用于在新系统中新增数据,相关 SDK 文档:操作数据库 — DeepFOS
1735812263787-42d65ce4-faab-4a31-9f2e-8e74efa66ad7

节点配置中直接输入 Python 代码即可;如需引用变量,参见预置变量。

本节点引用了前序连接器查询节点的输出结果,因此使用了变量Operator.nodeX.data。
1735813038930-ec9a12f2-13d5-4a6f-a430-b530fdc52560

示例代码:

Copy
from deepfos.element.datatable import DataTableMySQL
import pandas as pd

contract = DataTableMySQL(element_name="CONTRACT",path='/0101/')
t = contract.table
insert_data = pd.DataFrame(Operator.ds_conn_query1_copy.data.order("contract_id").df().to_dict(orient='list'))
# 先删后插
contract.delete(where = t.contract_id > 0 )
contract.insert_df(insert_data)
contract.select()
Copy
from deepfos.element.datatable import DataTableMySQL
import pandas as pd

ap_invoice = DataTableMySQL(element_name="AP_INVOICE",path='/0101/')
t = ap_invoice.table
insert_data = pd.DataFrame(Operator.ds_conn_query1.data.order("contract_id").df().to_dict(orient='list'))
# 先删后插
ap_invoice.delete(where = t.contract_id > 0 )
ap_invoice.insert_df(insert_data)
ap_invoice.select()

以 PY 代码插数的形式为例:

此处为语雀卡片,点击链接查看

回到顶部

咨询热线

400-821-9199