研究了一段时间的 StreamSet , 因为开源免费,又是一个UI 很不错的 数据交换工具,所以想分享一些干货给大家, 希望和大家一起探索
如果你知道很久以前的 EDI产品,用来做系统之间数据集成的,那么这个就是一个免费的版本,并且功能非常强大,他利用管道处理模型(Pipeline)来处理数据流。你可以定义很多Pipeline,一个Pipeline你理解为一个Job,我后面都管他叫Job更亲切一点,他可以后台自动帮你处理接口,数据库,中间件的各种对接场景

Java语言开发的,提这个语言是想表达
  1. 你可以定制化,如果有能力的话,你可以扩展一些节点(Source,Processer,Destination),
  2. 部署方式是Linux 机器
Source , Processer ,Destination 这三个节点的作用
  1. Source 在1个Job里面只能有1个,这个应该比较好理解,就是这个任务的触发源头嘛
  2. Destination,Processer 在每一个Job里面可以有多个 ,因为你会有很多处理步骤,比如检查一下数据格式,修改一下数据内容,增加一些条件分支,这都是处理节点,最终你会把数据写到数据库,或者写到Ftp,或者写到消息队列,对象存储等,这些都是目标节点
  3. 你可以安装或者自己开发这些节点,有点像搭建生态的意思,常用的操作节点官方都有
    在这里插入图片描述
部署方式
  1. 你可以自己部署一个单机版,免费的,那么这个单机版就会收到硬件资源的限制导致总任务数量的是有瓶颈的,目前看下来还是有点吃资源的,4核16G,差不多跑50多个任务吧,可能我的任务计算量还是比较大,部署有增量和递减,管理用户只能有一个。有Rest Api
  2. 你可以部署一个Control Hub集群版,收费的,多钱官网没有明确标明
开发方式

因为单机版的Job没有版本管理,是个遗憾点,所以你需要把任务导出到json文件,放到Git里
集群版看介绍是有版本管理的,还没用过

学习资源
  1. youtube 的Demo视频
  2. Ask 社区 https://ask.streamsets.com/ 提问用的,回答率不保证,在Jira之后的一个社区
  3. Jira https://issues.streamsets.com/
  4. slack 聊天室 streamsetters.slack.com
最后看一个Demo界面

在这里插入图片描述

先写这么多,后续再分享

Logo

旨在为数千万中国开发者提供一个无缝且高效的云端环境,以支持学习、使用和贡献开源项目。

更多推荐