Apache Seatunnel-seatunnel v2.x 与 v1.x 的区别是什么?

作者: Apache Seatunnel

v1.x VS v2.x

-v1.xv2.x
支持SparkYesYes
开发Spark插件YesYes
支持FlinkNoYes
开发Flink插件NoYes
支持的seatunnel运行模式local, Spark Standalone Cluster, on Yarn, on k8slocal, Spark/Flink Standalone Cluster, on Yarn, on k8s
支持SQL计算YesYes
配置文件动态变量替换YesYes
项目代码编译方式sbt(下载依赖很困难,我们正式放弃sbt)maven
主要编程语言scalajava

备注:

  1. seatunnel v1.x 与 v2.x 还有一个很大的区别,就是配置文件中,input改名为source, filter改名为transform, output改名为sink,如下:

v1.x 的配置文件:

input filter output

v2.x 的配置文件:

source ## input -> source transform ## filter -> transform sink ## output -> sink

#### 为什么InterestingLab团队要研发seatunnel v2.x ?

在2017年的夏天,InterestingLab 团队为了大幅提升海量、分布式数据计算程序的开发效率和运行稳定性,开源了支持Spark流式和离线批计算的seatunnel v1.x。

直到2019年的冬天,这两年的时间里,seatunnel逐渐被国内多个一二线互联网公司以及众多的规模较小的创业公司应用到生产环境,持续为其产生价值和收益。

在Github上,目前此项目的Star + Fork 数也超过了[1000+](https://github.com/InterestingLab/seatunnel/),它的能力和价值得到了充分的认可在。
InterestingLab 坚信,只有真正为用户产生价值的开源项目,才是好的开源项目,这与那些为了彰显自身技术实力,疯狂堆砌功能和高端技术的开源项目不同,它们很少考虑用户真正需要的是什么。

然后,时代是在进步的,InterestingLab也有深深的危机感,无法停留在当前的成绩上不前进。

在2019年的夏天,InterestingLab 做出了一个重要的决策 —— 在seatunnel上尽快支持Flink,让Flink的用户也能够用上seatunnel,感受到它带来的实实在在的便利。

终于,在2020年的春节前夕,InterestingLab 正式对外开放了seatunnel v2.x,一个同时支持Spark(Spark >= 2.2)和Flink(Flink >=1.9)的版本,希望它能帮助到国内庞大的Flink社区用户。

在此特此感谢,Facebook Presto项目,Presto项目是一个非常优秀的开源OLAP查询引擎,提供了丰富的插件化能力。
seatunnel项目正式学习了它的插件化体系架构之后,在Spark和Flink上研发出的一套插件化体系架构,为Spark和Flink计算程序的插件化开发插上了翅膀。

## 文章列表
- [Apache Seatunnel-Roadmap](https://www.oomspot.com/post/apacheseatunnelroadmap)
- [Apache Seatunnel-Sink plugin : Clickhouse [Spark]](https://www.oomspot.com/post/apacheseatunnelsinkpluginclickhousespark)
- [Apache Seatunnel-Sink plugin : Console [Spark]](https://www.oomspot.com/post/apacheseatunnelsinkpluginconsolespark)
- [Apache Seatunnel-Sink plugin : Elasticsearch [Spark]](https://www.oomspot.com/post/apacheseatunnelsinkpluginelasticsearchspark)
- [Apache Seatunnel-Sink plugin : Email [Spark]](https://www.oomspot.com/post/apacheseatunnelsinkpluginemailspark)
- [Apache Seatunnel-Sink plugin : File [Spark]](https://www.oomspot.com/post/apacheseatunnelsinkpluginfilespark)
- [Apache Seatunnel-Sink plugin : Hbase [Spark]](https://www.oomspot.com/post/apacheseatunnelsinkpluginhbasespark)
- [Apache Seatunnel-Sink plugin : Hdfs [Spark]](https://www.oomspot.com/post/apacheseatunnelsinkpluginhdfsspark)
- [Apache Seatunnel-Sink plugin : Mysql [Spark]](https://www.oomspot.com/post/apacheseatunnelsinkpluginmysqlspark)
- [Apache Seatunnel-Sink plugin : Phoenix [Spark]](https://www.oomspot.com/post/apacheseatunnelsinkpluginphoenixspark)
- [Apache Seatunnel-Source plugin : Fake [Spark]](https://www.oomspot.com/post/apacheseatunnelsourcepluginfakespark)
- [Apache Seatunnel-Source plugin : FakeStream [Spark]](https://www.oomspot.com/post/apacheseatunnelsourcepluginfakestreamspark)
- [Apache Seatunnel-Source plugin : Hive [Spark]](https://www.oomspot.com/post/apacheseatunnelsourcepluginhivespark)
- [Apache Seatunnel-Source plugin : JDBC [Spark]](https://www.oomspot.com/post/apacheseatunnelsourcepluginjdbcspark)
- [Apache Seatunnel-Source plugin : Kafka [Flink]](https://www.oomspot.com/post/apacheseatunnelsourcepluginkafkaflink)
- [Apache Seatunnel-Source plugin : Kafka [Spark]](https://www.oomspot.com/post/apacheseatunnelsourcepluginkafkaspark)
- [Apache Seatunnel-Source plugin : Socket [Flink]](https://www.oomspot.com/post/apacheseatunnelsourcepluginsocketflink)
- [Apache Seatunnel-Source plugin : SocketStream [Spark]](https://www.oomspot.com/post/apacheseatunnelsourcepluginsocketstreamspark)
- [Apache Seatunnel-Transform Plugin](https://www.oomspot.com/post/apacheseatunneltransformplugin)
- [Apache Seatunnel-Transform plugin : Json [Spark]](https://www.oomspot.com/post/apacheseatunneltransformpluginjsonspark)
- [Apache Seatunnel-Transform plugin : SQL [Spark]](https://www.oomspot.com/post/apacheseatunneltransformpluginsqlspark)
- [Apache Seatunnel-Transform plugin : Split [Spark]](https://www.oomspot.com/post/apacheseatunneltransformpluginsplitspark)
- [Apache Seatunnel-seatunnel v2.x 与 v1.x 的区别是什么?](https://www.oomspot.com/post/apacheseatunnelseatunnelv2xyuv1xdequbieshishenme)
- [Apache Seatunnel-start-seatunnel-flink.sh 使用方法](https://www.oomspot.com/post/apacheseatunnelstartseatunnelflinkshshiyongfangfa)
- [Apache Seatunnel-start-seatunnel-spark.sh 使用方法](https://www.oomspot.com/post/apacheseatunnelstartseatunnelsparkshshiyongfangfa)
- [Apache Seatunnel-下载、安装](https://www.oomspot.com/post/apacheseatunnelxiazaianzhuang)
- [Apache Seatunnel-为 seatunnel v2.x 贡献代码](https://www.oomspot.com/post/apacheseatunnelweiseatunnelv2xgongxiandaima)
- [Apache Seatunnel-完整配置文件案例 [Spark]](https://www.oomspot.com/post/apacheseatunnelwanzhengpeizhiwenjiananlispark)
- [Apache Seatunnel-快速开始](https://www.oomspot.com/post/apacheseatunnelkuaisukaishi)
- [Apache Seatunnel-插件开发](https://www.oomspot.com/post/apacheseatunnelchajiankaifa)
- [Apache Seatunnel-深入seatunnel](https://www.oomspot.com/post/apacheseatunnelshenruseatunnel)
- [Apache Seatunnel-部署与运行](https://www.oomspot.com/post/apacheseatunnelbushuyuyunxing)

更多推荐

更多
  • Pulsar消息队列-一套高可用实时消息系统实现 实时消息【即时通信】系统,有群聊和单聊两种方式,其形态异于消息队列:1 大量的 group 信息变动,群聊形式的即时通信系统在正常服务形态下,瞬时可能有大量用户登入登出。2 ...
  • Pulsar消息队列-Pulsar对比Kafka笔记 很多人查看 Pulsar 之前可能对 Kafka 很熟悉,参照上图可见二者内部结构的区别,Pulsar 和 Kafka 都是以 Topic 描述一个基本的数据集合,Topic 数据又分为若干 Partition,即对数据进行逻辑上的 ...
  • Pulsar消息队列-对 2017 年一套 IM 系统的反思 信系统的开发,前前后后参与或者主导了六七个 IM 系统的研发。上一次开发的 IM 系统的时间点还是 2018 年,关于该系统的详细描述见 [一套高可用实时消息系统实现][1] ...
  • Apache APISIX文档-快速入门指南-如何构建 Apache APISIX 如何构建 Apache APISIX,步骤1:安装 Apache APISIX,步骤2:安装 etcd,步骤3:管理 Apache APISIX 服务,步骤4:运行测试案例,步骤5:修改 Admin API key,步骤6:为 Apac
  • Apache APISIX文档-快速入门指南-快速入门指南 快速入门指南,概述,前提条件,第一步:安装 Apache APISIX,第二步:创建路由,第三步:验证,进阶操作,工作原理,创建上游服务Upstream,绑定路由与上游服务,添加身份验证,为路由添加前缀,APISIX Dashboard
  • Apache APISIX文档-架构设计-APISIX APISIX,软件架构,插件加载流程,插件内部结构,配置 APISIX,插件加载流程,比如指定 APISIX 默认监听端口为 8000,并且设置 etcd 地址为 http://foo:2379, 其他配置保持默认。在 ...
  • Apache APISIX文档-架构设计-Service Service 是某类 API 的抽象(也可以理解为一组 Route 的抽象)。它通常与上游服务抽象是一一对应的,Route 与 Service 之间,通常是 N:1 的关系,参看下图。不同 Route 规则同时绑定到一个 Service ...
  • Apache APISIX文档-架构设计-Plugin Config 如果你想要复用一组通用的插件配置,你可以把它们提取成一个 Plugin config,并绑定到对应的路由上。举个例子,你可以这么做:创建 Plugin config,如果这个路由已经配置了 plugins,那么 Plugin config ...
  • Apache APISIX文档-架构设计-Debug Mode 注意:在 APISIX 2.10 之前,开启基本调试模式曾经是设置 conf/config.yaml 中的 apisix.enable_debug 为 true。设置 conf/debug.yaml 中的选项,开启高级调试模式。由于 ...
  • Apache APISIX文档-架构设计-Consumer 如上图所示,作为 API 网关,需要知道 API Consumer(消费方)具体是谁,这样就可以对不同 API Consumer 配置不同规则。授权认证:比如有 [key-auth] 等。获取 consumer_...
  • 近期文章

    更多
    文章目录

      推荐作者

      更多