数据流典型场景--大数据批量入库

栏目:云苍穹知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

数据流典型场景--大数据批量入库

变更记录


产品版本
更新内容更新日期
V6.0.1初始版本2024年03月21日


1 业务场景

  • 背景介绍

    当存在需要向目标同步大量数据数据时,考虑性能问题需要分批执行,可以参考该数据流方案进行大数据量分批入库。

注:使用批量加载时应注意结合使用场景设置批量大小,防止OOM。


  • 场景详细描述

    该场景中以查询基础资料demo1的单头数据,使用脚本批量加载直接写入基础资料demo2数据表


2 解决方案

  • 解决方案总述:

    利用数据流的脚本批量加载,直接写入基础资料demo2数据表

    注意:批量脚本中new_int_id()每次生成一个新的id,所以如果重复跑该方案会产生重复数据并不会自动判断新增/更新,现场应结合实际使用场景进行赋值。


前提条件:对数据流已经有基本认识,学习过数据流入门案例


  • 关键操作:

      - 步骤1:准备工作。

      1.1 创建连接配置和连接器

     因为该示例源和目标都是当前账套,因此创建一个当前账套的连接配置和连接器即可




      1.2 同步集成对象。

     在集成管理模块同步好源和目标集成对象



     1.3 创建连接器目录和数据流方案目录

     连接器目录按照行业、系统、模块三层创建



     数据流方案目录按照集成场景概述、集成场景详细说明两层创建:


     - 步骤2:创建资源

     2.1 通过集成对象导入,创建源和目标对象数据模型

     该示例源对象以实体取数,目标对象以数据表写数。在连接器目录下创建。

      

      2.2 创建数据查询组件

      在连接器目录下新增数据查询组件,查询对象选择前面创建的源对象数据模型,如果需要过滤数据也可以配置查询条件参数和过滤条件。

      2.3 创建事件模型

     在连接器目录下新增人工启动事件模型,数据提供者选择上一步创建的数据查询组件。也可以根据需要选择定时启动、单据事件、MQ等事件模型。


      2.4 创建字段映射组

      在数据流方案目录下创建字段映射组件,源数据和目标数据分别选择前面配置的数据模型,先自动映射对应关系,再根据需要检查修改。


      2.5 创建数据加载组件

       在连接器目录下新增脚本批量加载组件,目标单数据选择前面配置的目标数据模型,配置好批量大小。


    

参考脚本:

var sql="insert into t_isc_demo_basedata_2@eip(fid,fnumber,fname,fcreatetime,fmodifytime) values(?,?,?,?,?)";
var b = [];
var result = [];
for(var tar : _tars){
  var id = new_int_id();
  b += [id,tar.fnumber,tar.fname,tar.fcreatetime,tar.fmodifytime];
  result += {'id':id,'type':'insert'};
}
var type = [BIGINT,VARCHAR,VARCHAR,DATETIME,DATETIME];
var affected = execute_batch($tar, sql, b, type);
return result;

注:目标数据模型tar和最后返回的结果result的顺序应该一一对应。


      - 步骤3:配置数据流程

      3.1 创建数据流图

      在数据流方案目录下创建一个数据流组件:


      3.2 编排数据流资源

      开始配置流程属性时在外部系统声明中把需要用到的连接类型引入。每个节点选择上前面步骤配置的组件,分别是事件模型、字段映射、脚本批量加载。另外每个节点都需配置好来源系统或目标系统是哪个连接器:


      3.3 创建数据流启动方案


     

      - 步骤4:运行结果查看

      执行该数据流启动方案,并查看该数据已经同步到目标:



数据流典型场景--大数据批量入库

变更记录产品版本更新内容更新日期V6.0.1初始版本2024年03月21日1 业务场景背景介绍 当存在需要向目标同步大量数据数据时,考虑性能问...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息