seatunnel - SeaTunnel是下一代超高性能、分布式、海量数据集成工具

Created at: 2017-08-05 17:14:47
Language: Java
License: Apache-2.0

Apache 海底隧道

海隧道标志

构建工作流 松弛 推特关注


英文文档

海隧道原名水滴,自2021年10月12日起更名为海隧道。


SeaTunnel是下一代超高性能、分布式、海量数据集成工具。每天能稳定高效地同步数百亿数据,已用于多家企业生产。

为什么我们需要海隧道

SeaTunnel专注于数据集成和数据同步,主要针对解决数据集成领域的常见问题:

  • 各种数据源:有数百个常用数据源,其版本不兼容。随着新技术的出现,更多的数据源正在出现。用户很难找到能够完全快速支持这些数据源的工具。
  • 复杂同步场景:数据同步需要支持离线-全量同步、离线-增量同步、CDC、实时同步、数据库全量同步等多种同步场景。
  • 资源需求高:现有的数据集成和数据同步工具往往需要大量的计算资源或JDBC连接资源来完成海量小表的实时同步。这在一定程度上加重了企业的负担。
  • 缺乏质量和监控:数据集成和同步过程经常会遇到数据丢失或重复的情况。同步过程缺乏监控,无法直观地了解任务过程中数据的真实情况。

海底隧道的特点

  • 多样化的连接器:SeaTunnel已经支持了100多个连接器,而且数量还在激增。以下是我们支持和计划支持的连接器列表。
  • 批量流集成:基于海隧道连接器API开发的连接器,完美兼容离线同步、实时同步、全同步、增量同步等场景。它大大降低了管理数据集成任务的难度。
  • 支持分布式快照算法,保证数据一致性。
  • 多引擎支持:SeaTunnel默认使用SeaTunnel Zeta引擎进行数据同步。同时,SeaTunnel 还支持使用 Flink 或 Spark 作为连接器的执行引擎,以适应企业现有的技术组件。此外,SeaTunnel 支持多个版本的 Spark 和 Flink。
  • JDBC多路复用,数据库日志多表解析:SeaTunnel支持多表或全数据库同步,解决了JDBC连接过多的问题;支持多表或全数据库日志读写解析,解决了CDC多表同步场景重复读取解析日志的问题。
  • 高吞吐、低时延:海隧道支持并行读写,提供稳定可靠的数据同步能力,高吞吐、低时延。
  • 完善的实时监控:SeaTunnel支持数据同步过程中每个步骤的详细监控信息,让用户轻松了解同步任务读写的数据数量、数据大小、QPS等信息。
  • 支持两种作业开发方法:编码和画布设计。SeaTunnel Web 项目 https://github.com/apache/seatunnel-web 提供作业、调度、运行和监控功能的可视化管理。

此外,SeaTunnel提供了一个不依赖于特定执行引擎的连接器API。基于此 API 开发的连接器(源、转换、接收器)可以在许多不同的引擎上运行,例如当前支持的 SeaTunnel Zeta Engine、Flink、Spark。

海隧道工作流程图

海隧道工作流程图

SeaTunnel 的运行流程如上图所示。

用户配置作业信息并选择执行引擎以提交作业。

源连接器负责并行化数据并将数据发送到下游转换或直接发送到接收器,接收器将数据写入目标。值得注意的是,源和转换和接收器都可以由你自己轻松开发和扩展。

SeaTunnel 使用的默认引擎是 SeaTunnel Engine。如果你选择使用 Flink 或 Spark 引擎,SeaTunnel 会将连接器打包到 Flink 或 Spark 程序中,并将其提交给 Flink 或 Spark 运行。

海隧道支持的连接器

  • 支持的源连接器签

  • 支持接收器连接器签

  • 转换支持的签出

下面是我们的连接器及其运行状况列表。连接器状态

下载

直接运行软件包下载地址:https://seatunnel.apache.org/download

快速入门

默认情况下,SeaTunnel 使用 SeaTunnel Zeta 引擎作为数据同步的运行时执行引擎。我们强烈建议使用 Zeta 引擎作为运行时引擎,因为它提供了卓越的功能和性能。顺便说一下,SeaTunnel 还支持使用 Flink 或 Spark 作为执行引擎。

海隧道泽塔发动机 https://seatunnel.apache.org/docs/start-v2/locally/quick-start-seatunnel-engine/

Spark https://seatunnel.apache.org/docs/start-v2/locally/quick-start-spark

眨眼 https://seatunnel.apache.org/docs/start-v2/locally/quick-start-flink

应用实践案例

  • 微博,增值业务部数据平台

微博业务使用SeaTunnel的内部定制版本及其子项目Guardian进行SeaTunnel On Yarn任务监控,用于数百个实时流计算任务。

  • 腾讯云

将业务服务的各种日志收集到 Apache Kafka 中,Apache Kafka 中的一些数据通过 SeaTunnel 消费提取,然后存储到 Clickhouse 中。

  • 新浪,大数据运营分析平台

新浪数据运营分析平台利用SeaTunnel对新浪新闻、CDN等服务的数据运维进行实时和离线分析,并写入Clickhouse。

  • 搜狗、搜狗七千系统

搜狗七千系统以海隧道为ETL工具,帮助建立实时数据仓库系统。

  • 永辉超市创始人联盟-永辉云创科技会员电商数据分析平台

SeaTunnel为永辉云创科技旗下新零售品牌永辉生活提供电商用户行为数据的实时流化和离线SQL计算。

有关更多用例,请参阅:https://seatunnel.apache.org/blog

行为准则

本项目遵守贡献者盟约行为准则。通过参与,你应该遵守此准则。请按照举报准则举报不可接受的行为。

贡献

感谢所有开发人员

如何编译

请遵循此文档

联系我们

景观



  

SeaTunnel丰富了CNCF云原生景观。

我们的用户

各种公司和组织使用SeaTunnel进行研究,生产和商业产品。访问我们的网站以查找用户页面。

许可证

Apache 2.0 许可证。