核心概念

Reactive Data Process,简称:mass-rdi

mass-rdi 是一个基于akka架构上构建的分布式高可用ETL平台,可以把一个job中子任务按照拓扑关系在集群中不同的节点上并行执行, 高效利用集群资源;提供多个工具节点,可监控文件数据情况,对数据及任务进行监控告警,异常处理等。其中工作流定义相对简洁轻量级, 可作为构建数据仓库、或大数据平台上的调度工具。

技术架构

mass-rdi 技术架构图
MassData 平台架构图

整个 mass-rdi 架构采用伪去中心化的设计,使用角色来区分节点所拥有的功能。当前已有角色有:

  1. leader: 用于整个RDP集群管理,节点加入、退出,任务分配、调度
  2. worker: 实际执行数据处理任务
  3. console: 管理控制台,包括:任务管理、任务编排、监控等功能

每个节点都拥有完整的功能,通过启动时设置role(节点角色)来指明当前节点启用的功能组。这意味着,一个节点可以同时担任多种角色(推荐每个节点角色功能单一)。 每个角色可以独立部署于不同机器上,支持高可用性(HA)。

// 节点中包含以下模块:调度模块,执行模块,告警模块,日志模块,持久化模块。

Akka 强力驱动

Reactive Flow简单流程

支持数据源或存储:

  1. RMDBs: PostgreSQL、MySQL、Oracle、DM(达梦数据库)
  2. HDFS、Hive、HBase
  3. Elasticsearch
  4. Cassandra
  5. MongoDB
  6. FTP/sFTP
  7. Excel/CSV

功能

任务调度

  1. 定时调度(间隔时间、日历时间)
  2. 任务分拆、分派
  3. 分布式任务^

数据导入、导出

从SQL、NoSQL、文件(Excel、CSV……)将数据导到其它的SQL、NoSQL、文件(Excel、CSV……)。

数据清洗、转换

可在数据EL(Extract, Load)时实时对数据进行清洗、转换,也可对离线数据进行清洗、转换。包括但不限如下功能:

  1. 数据格式化(去空白字符,时间、日期、数字、金额格式化)
  2. 字段合并、分割
  3. 字段比较、去重
  4. 数据转换,根据自定义函数转换数据为另一种形式的数据
  5. Excel/CSV数据表单动态导入(可配置数据例映射存储的字段)
  6. ……

图形、可编程化任务配置

  1. 提供图形化可拖拽任务流程配置
  2. 集成基于Web的数据清洗、转换代码编辑器

数据处理可视化

可视化显示数据流处理过程,可对数据处理过程、状态、处理数据量进行实时监控

数据处理可视化

Found an error in this documentation? The source code for this page can be found here. Please feel free to edit and contribute a pull request.