ApacheSeaTunnel简介
美国时间年12月9日,SeaTunnel正式通过Apache软件基金会的投票决议,以全票通过的优秀表现正式成为Apache孵化器项目。她是首个来自中国的数据集成平台成功进入Apache孵化器的项目。SeaTunnel原名Waterdrop,年由乐视创建,并于同年在GitHub上开源,年10月改名为SeaTunnel。ApacheSeatunnel是一个非常易用,高性能、支持实时流式和离线批处理的海量数据处理产品,架构于ApacheSpark和ApacheFlink之上。
seatunnel能为我们做什么Databricks开源的ApacheSpark对于分布式数据处理来说是一个伟大的进步。我们在使用Spark时发现了很多可圈可点之处,同时我们也发现了我们的机会——通过我们的努力让Spark的使用更简单,更高效,并将业界和我们使用Spark的优质经验固化到seatunnel这个产品中,明显减少学习成本,加快分布式数据处理能力在生产环境落地。
除了大大简化分布式数据处理难度外,seatunnel尽所能为您解决可能遇到的问题:
数据丢失与重复
任务堆积与延迟
吞吐量低
应用到生产环境周期长
缺少应用运行状态监控
"seatunnel"的中文是“水滴”,来自中国当代科幻小说作家刘慈欣的《三体》系列,它是三体人制造的宇宙探测器,会反射几乎全部的电磁波,表面绝对光滑,温度处于绝对零度,全部由被强互作用力紧密锁死的质子与中子构成,无坚不摧。在末日之战中,仅一个水滴就摧毁了人类太空武装力量近2千艘战舰。
seatunnel使用场景海量数据ETL
海量数据聚合
多源数据处理
seatunnel的特性简单易用,灵活配置,无需开发
实时流式处理
高性能
海量数据处理能力
模块化和插件化,易于扩展
支持利用SQL做数据处理和聚合
SparkStructuredStreaming
支持Spark2.x
seatunnel的工作流程Input/Source[数据源输入]-Filter/Transform[数据处理]-Output/Sink[结果输出]多个Filter构建了数据处理的Pipeline,满足各种各样的数据处理需求,如果您熟悉SQL,也可以直接通过SQL构建数据处理的Pipeline,简单高效。目前seatunnel支持的Filter列表,仍然在不断扩充中。您也可以开发自己的数据处理插件,整个系统是易于扩展的。
seatunnel支持的插件Input/SourcepluginFake,File,Hdfs,Kafka,S3,Socket,自行开发的Inputplugin
Filter/TransformpluginAdd,Checksum,Convert,Date,Drop,Grok,Json,Kv,Lowercase,Remove,Rename,Repartition,Replace,Sample,Split,Sql,Table,Truncate,Uppercase,Uuid,自行开发的Filterplugin
Output/SinkpluginElasticsearch,File,Hdfs,Jdbc,Kafka,Mysql,S3,Stdout,自行开发的Outputplugin
seatunnel基本原理本质上,seatunnel不是对Spark和Flink内部的修改,而是在Spark和Flink的基础上,做了一个平台化和产品化的包装,使广大开发者使用Spark和Flink的时候更加简单和易用,主要有以下特点:
完全可以做到开箱即用
开发者可以开发自己的插件,pluginin到seatunnel上跑,而不需要写一个完整的Spark或者Flink程序
seatunnel从v2.0开始,同时支持Spark和Flink。
如果想了解seatunnel的实现原理,建议熟练掌握一个最重要的设计模式:控制反转(或者叫依赖注入),这是seatunnel实现的基本思想。控制反转(或者叫依赖注入)是什么?我们用两句话来总结:
上层不依赖底层,两者依赖抽象。
流程代码与业务逻辑应该分离。
应用案例微博,微博增值业务部数据平台有数百个实时流式计算任务使用内部定制版SeaTunnel,以及其子项目Guardian做seatunnelOnYarn的任务监控。
新浪,新浪运维数据分析平台使用SeaTunnel为新浪新闻,CDN等服务做运维大数据的实时和离线分析,并写入Clickhouse。
搜狗,搜狗奇点系统使用SeaTunnel作为ETL工具,帮助建立实时数仓体系。
趣头条,趣头条数据中心,使用SeaTunnel支撑mysqltohive的离线ETL任务、实时hivetoclickhouse的backfill技术支撑,很好的cover离线、实时大部分任务场景。
一下科技,一直播数据平台
永辉超市子公司-永辉云创,会员电商数据分析平台SeaTunnel为永辉云创旗下新零售品牌永辉生活提供电商用户行为数据实时流式与离线SQL计算。
水滴筹,水滴筹在Yarn上使用SeaTunnel做实时流式以及定时的离线批处理,每天处理3~4T的数据量,最终将数据写入Clickhouse。
seatunnelv2.x与v1.x的区别是什么?seatunnel未来之路支持交互式Shell或者WebUI,通过它们来配置和发布任务
根据社区反馈,开发各种插件
支持插件化体系化开发
完善项目的CI/CD
接入DSS或者EasyScheduler。
接入Hudi或者DeltaLake
参考资料官方文档(