更新时间:2024-04-25 GMT+08:00
分享

数据服务开发

数据服务共享平台(DSP)数据服务开发可分为在线开发和离线开发两种。离线开发是只通过Studio进行数据模型开发和Web服务的开发,离线开发的模型只需通过平台部署即可,此处不再赘述。本节内容主要是面向在线开发。

实时数据服务

  • 单表服务

    通过平台数据资源目录,可以关联单个表资源发布为数据服务,通过界面化配置选择需要发布的表字段、配置查询条件、自动生成SQL(支持对SQL语句进行编辑)几个步骤完成服务发布,并支持服务的自动注册发布。

  • 结果集服务

    支持通过平台数据资源目录,可以关联多张表进行数据组装形成新的结果集,并支持对结果集的自定义,并支持按定义的结果集进行服务的自动注册发布。

图1 实时数据服务1
图2 实时数据服务2

批量数据服务

  • 结构化
    1. 在线作业服务开发

      对于在线开发,支持通过页面的方式,根据已经导入到平台中的作业模板配置映射关系,而不用通过studio进行模型开发即可完成批量数据处理工作。其整体过程为:选择模板选择区选择库批量表配置变量配置服务器配,平台在线开发基础模板包含以下几类:

      全量同步;

      HBase到文件同步

      全文对比同步、

      触发器同步

      时间戳同步

      数据库到文件同步

      全量同步

      文件到数据库同步

      MySQLtoHBASE数据脱敏

      CanalClientToHBase同步

      DBToHbase

      MongoDBToHBaseSingleTable

      MongoDBToHBase

      DBToDBDesensitization。

      图3 在线作业服务开发
    1. 离线作业服务开发

      对于复杂的作业服务,提供独立的开发工具(DSP Studio),使开发期和运行期分开,支持多种协议,可通过使用图形化界面进行快速开发,满足用户个性化的需求。功能上与平台具备从设计、开发、组装、调试、维护、部署、管理和发布一体的集成开发环境。同时,具有向导、视图和编辑器等工具供开发人员在开发过程中使用。

      对于离线作业开发,支持离线数据模型部署在数据服务共享平台。

      图4 离线作业服务开发
  • 非结构化

    非结构化数据服务支持文件的传输配置。通过文件传输配置能够将相应的文件资源传输给消费方。其主要功能包括:

    新建文件传输配置。

    编辑文件传输配置。

    删除文件传输配置。

    文件传输配置支持一对一、一对多传输;支持文件传输策略的配置。

    图5 非结构化1
    图6 非结构化2

订阅任务开发

数据开发人员登录数据服务共享平台,对数据管理员已经审批通过的消费方订阅任务进行开发,订阅任务开发分为离线开发和在线开发,且离线开发和在线开发功能与章节结构化相同。

图7 订阅任务开发

脱敏算法配置

数据服务共享平台数据脱敏模板内置多种数据脱敏算法,可实现替换、加密等处理。其主要功能包括:

  • 目标数据源选择;
  • 算法配置
  • –DFA算法
  • –AES算法
  • –BASE64算法
  • –MD5算法
  • 替换处理。
图8 脱敏算法配置

作业模板开发

作业模板实际上是参数化的数据模型。在线作业开发中用到的作业类型都是通过对模板的开发产生的,模板的开发是通过studio开发dbr或dsr模板文件,开发的过程与ETL模型开发相同,不同的是模板开发对数据源和表都有新的标记定义,如:数据源填写时用%{source}进行标记,表填写时用[sourcetablename]进行标记。在开发场景中使用到该模板时可对数据源和表的变量进行映射。

在作业中需要进行数据转换、数据质量检验和数据脱敏的时候需要使用到业务调度dsr来进行模型组合完成,dsr能够在模型之间传递变量和结果集。这个是作业流目前所做不到的,需要共享平台提供底层工程化的支撑来完成有前后条件的这种模型的执行。

当前基础模板包含以下几类:

  • 全量同步;
  • HBase到文件同步
  • 全文对比同步、
  • 触发器同步
  • 时间戳同步
  • 数据库到文件同步
  • 全量同步
  • 文件到数据库同步
  • MySQLtoHBASE数据脱敏
  • CanalClientToHBase同步
  • DBToHbase
  • MongoDBToHBaseSingleTable
  • MongoDBToHBase
  • DBToDBDesensitization。

除上述模板之外,可依据项目实际需求进行开发。采用模板化的在线开发,能简化使用难度,不需要专业开发人员进行模型的开发和设计。

图9 作业模板开发

相关文档