首页 > 编程知识 正文

transform skew(js transform)

时间:2023-05-03 07:04:43 阅读:103572 作者:478

介绍

Rope是一个轻量级的ETL(提取-转换-加载)工具。主要用于采集/接收不同来源的数据,统一处理后写入各种目标来源;系统采用多级缓存和数据缓存,每秒可处理上万级数据;而且,系统使用插件来扩展系统的各个组件,根据不同的需求来扩展不同的插件。

特性

轻巧、快速、简单,入门门槛低。基于Springboot开发,具有很强的可扩展性。基于插件开发,可以根据不同的需求进行开发。数据读取器、数据处理器和数据写入器不仅可以通过UI界面构建流程,还可以使用json和yml文件构建流程,基于distander构建缓冲区,并添加新的缓存(内存、redis、rocksdb等)。).处理速度比010快。

架构图

核心模块

用于控制数据的输入。主要有两种类型:主动获取输入和被动接受输入。

输入模块

这个模块主要是读取数据的具体实现,可以自行扩展。不能独立运行,需要作用于主动采集输入才能运行。

数据读取者

主要传输数据。系统中的数据传输有两种:一种是将输入模块输入的数据传输给数据处理器,另一种是将数据处理器处理后的数据传输给输出模块。目前支持默认数据发送器和基于Disruptor的缓冲数据发送器。在实际环境中,建议使用干扰机的缓冲数据发送器。

数据传输模块

这个组件是一个数据处理器,用来处理数据,比如把字符数据处理成其他类型,丢弃某些数据,增加某些数据字段。该组件是自扩展的,并且不是必需的。

数据处理器模块

这个组件主要用于系统数据输出,也就是数据以哪种方式输出,它不关心数据输出到哪里,只关心数据是如何输出的。

数据输出模块

这个组件是具体数据写的实现,主要关心数据写在哪里,是数据输出的具体实现。必须作用于输出才能运行。

00-1010数据转换器,主要用于数据类型转换,多采用Reader Writer实现。核心思想是让Reader Writer关心数据读写,关心数据类型转换的细节。因此具有很强的扩展性。

项目地址:https://gitee.com/starblues/rope

版权声明:该文观点仅代表作者本人。处理文章:请发送邮件至 三1五14八八95#扣扣.com 举报,一经查实,本站将立刻删除。