Haydn解决方案工厂-交付项目创建:数据探源

时间:2023-11-01 16:24:59

数据探源

在项目交付设计设计和实施之前,需要梳理当前项目中的原始数据有哪些,即数据探源。本实践的数据源如下:

表3 数据源信息

归属系统

数据类型

DB&表

说明

源端-门店系统

MySQL

store_mgmt.t_user_store_info

源端门店基本信息表,需要通过数据探源的方式获取表结构。

源端-订单系统

MySQL

order_mgmt.t_trade_order

源端订单基本信息表,需要通过数据探源的方式获取表结构。

目标端-数据中台

MRS-Hudi

  • t_trade_order
  • t_user_store_info

目标端系统,不需要做数据探源,但是由于后续做数据迁移入湖时需要用到,因此可以在本章节统一创建数据连接。

  1. 实施责任人(本实践设置为“HaydnTrial_TE”)在交付空间内左侧导航栏选择“交付中心-需求管理”,在相应的项目需求下点击【需求分析】按钮,进入需求分析页面后,点击“数据调研管理”TAB页。
  2. 创建公司组织架构信息。

    在开始对探源对象进行监控前,需要创建应用系统列表,用于展示公司的组织架构信息。后续的数据连接以及监控等需要按照组织架构进行划分。
    图14 创建组织架构信息

    如上图所示,创建了三个应用系统,分别表示源端的门店和订单系统、以及目标端的数据中台管理系统。

  3. 创建连接

    按照公司组织架构,根据对应的连接系统和数据库连接类型管理用户的数据连接,以便完成数据调研的数据连接以及后续的数据实施。

    图15 创建数据连接

    在本实践中,需要将客户源端的MySQL数据迁移至云上MRS,如下图所示为本实践配置的数据连接,分别是源端的两个MySQL连接和目标端的一个MRS Hudi连接。

    图16 数据连接清单

  4. 添加监控对象,配置想要采集的数据连接的库表信息,以及所需采集的空值字段的表名和表字段名。

    为了做源端数据探源,需要对源端系统进行监控,因此对已配置的三个数据连接中的两个源端连接(订单系统、门店系统)进行监控。若需要对字段的空置率进行检测,则可配置要检测的字段名。

  5. 配置调度规则

    Haydn支持使用探源工具对源系统进行数据探源,支持配置数据探源规则,包含DB、表信息等采集周期和具体时间,若未配置,则按默认规则进行数据采集。

    • DB采集:配置数据库采集时间,如:数据库类型,数据库表数,数据总量,采集时间。
    • 表信息采集:配置表的采集时间。
    • 字段采集:配置字段采集时间。
    • 上报采集:配置库、表、字段采集信息的上报时间。
    • 删除字段:各项目根据自己公司的实际情况,配置表在软删除是删除字段的名称。
    图17 配置调度规则

  6. 下载配置文件application.properties并补充待探源系统的数据库登录信息。

    配置完成后,下载配置文件。配置文件文件中包含了前面配置的规则、数据源信息等,用户可以修改配置文件中的信息。由于Haydn不记录数据库密码,因此下载配置文件后可自行在文件中补充数据库登录密码。

    图18 下载配置文件

  7. 下载探源工具示例代码,结合下载的配置文件按照探源工具指导对源系统进行数据探源。

    1. 下载探源工具示例代码
      图19 下载探源工具示例代码
    2. 将下载的压缩包解压缩。jar包已提供为分段压缩包,把子压缩包放在一个文件夹中解压即可得到完整jar包。同时支持通过修改代码,重新编译打包。
    3. 将jar包放入远端服务器中,即环境准备中用来做探源的服务器中。如,本最佳实践需要对两个MySQL数据库进行数据探源,则,可将本探源工具放入某台linux服务器中,只需保证该服务器网络上访问到这两个MySQL数据库即可。
    4. 6中下载的配置文件application.properties放入该远端服务器中。注意,需要和jar包在同一个目录下。
      图20 探源工具
    5. 运行启动脚本:run_agent.sh

      启动后,将会按照6中配置文件application.properties的规则进行数据探源,获取指定数据库的数据结构。更多说明,请参考探源工具示例代码中的指导。

      探源工具通过查询指定数据库的系统表获取相关信息,对数据库压力较小,但为了保证不影响业务,建议将探源工具的定时任务设置在凌晨等压力较小的时间段进行。

  8. 查看监控对象数据探源结果。数据探源结果可在线上报或离线导入:若运行探源工具的服务器可访问公网,则默认会在线上报;否则需要离线导入。

    • 在线上报

      按照6中配置文件application.properties的采集和上报规则,探源结果可在线上报到Haydn平台(要求运行探源工具的服务器可访问公网)。在图22中点击刷新 按钮即可。

    • 离线导入

      若探源的系统仅能在客户侧内网运行,则可通过离线导入的方式将探源结果(7运行后会在相同目录下生成数据压缩包)导入到Haydn平台。

      图21 探源工具运行结果
    图22 查看探源结果

    探源结果这里展示对相应组织结构下的表信息,包括表行数、每行平均长度、表数据量、时间戳字段(表中是否含有date和timestamp类型)、删除标识(表中是否含有删除字段)、空值率检测(该表是否进行了空置率检测)。如下图所示,点击左侧列表中的“数据部”,则会展示该部门下所采集的所有数据结构。

    图23 数据探源结果

  9. 生成入湖清单

    对于探源到的数据,可将需要的数据配置生成入湖清单,后续基于入湖清单可直接生成CDM迁移入湖作业。如,本实践中需要将探源到的订单系统和门店系统进行数据迁移,通过CDM迁移至云上MRS Hudi,则可选择这两个系统下的表生成入湖清单,目标端选择MRS Hudi。

    图24 新增入湖清单
    图25 配置入湖清单
    图26 入湖清单

support.huaweicloud.com/bestpractice-haydncsf/haydncsf_06_0031.html