暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

SeaTunnel 让数据集成变得 So easy!

SeaTunnel 2022-10-25
2959

 点亮 ⭐️ Star · 照亮开源之路

https://github.com/apache/incubator-seatunnel

    

在9月24日的海外线上会议上,Apache SeaTunnel PPMC 范佳分享了如何使用正确的数据集成工具,事半功倍地完成数据处理。以下为演讲全程整理,供参考学习。

          讲师简介




范佳,Apache SeaTunnel PPMC


我演讲的题目是《Apache SeaTunnel:让数据集成变得简单》,我们就来了解一下SeaTunnel是如何做到这一点的。


首先,我会为大家介绍为什么我们需要数据集成,然后数据集成需要的是什么。之后为大家介绍SeaTunnel,以及我们的社区,最后以用户案例收尾。

01

为什么我们需要数据集成?


随着企业的规模逐渐扩大,会产生大量的数据源和数据资产,分散在不同的地点,不同的数据存储中。业务之间是互相脱节的,也就是所谓的数据孤岛,如果我想针对这些数据进行统一的处理和分析,我应该怎么办?


我们需要一个工具将这些数据同步到一个统一的数据服务中,进一步进行数据处理和分析。接下来我们来看另外一种情况。


我们可以看到,有两个数据库都存了顾客的信息,但是数据库之间的数据却有差异,执行相同的查询语句得到的却是不同的结果,这肯定是我们不想遇到的。我们需要保证两个数据库里面保存的信息是一致的。


第三种情况是,随着云存储的不断发展,我们需要将我们的数据迁移到云上,需要一款工具来实现这个需求。


02

我们需要什么样的工具?

 
通过刚才的内容,相信大家已经知道了我们为什么需要一款数据集成工具,以及数据集成工具应该具有哪些特质。

工具应该具备什么能力?

这样的数据集成工具应该至少包含这三种能力:

  • 支持多种数据源,这样我们才能支持把多种数据源统一到同一个数据存储中。
  • 数据一致性保证,所以我们才能确保两个数据库的数据是一致的。
  • 高效的数据同步能力,海量的数据同步需要快速的同步,才能保证数据的及时性。

这里列举的是SeaTunnel的同步工具具备的特质,但是数据集成需要的特质,SeaTunnel拥有的不止是这些。

02

Apache SeaTunnel


接下来,我们来了解一下 SeaTunnel——数据集成领域的新伙伴。


官网对其的定义是:下一代高性能、分布式海量数据集成框架。这也是我们实现SeaTunnel的目标,解决刚刚所说的问题,同时提供一个简单可用,但是高性能的数据集成框架。SeaTunnel具有很多有意思的特性,接下来我为大家列举部分。

首先,作为一个数据集成框架,简单上手,快速地使用是很重要的。为了实现这一点,我们需要让对于SeaTunnel的用户不再需要写代码,也就是No Code。


那用户如何使用SeaTunnel呢?后续会讲到。


为了提高数据的吞吐量,分布式是必不可少的,它可以帮助我们大大提高传输效率和数据处理能力,实现优秀的容错能力。


同时SeaTunnel支持运行在多个框架上,目前支持Spark和Flink,以及SeaTunnel自己开发的数据集成引擎。用户可以根据自己项目的技术栈进行选择,用最合适自己的引擎。当然,我们推荐大家都能使用SeaTunnel自研的引擎,这是专门为数据集成准备的。

03

如何使用SeaTunnel

 
接下来为大家介绍如何使用SeaTunnel来进行数据处理。简单高效的使用方式,一直是我们的设计目标。


首先,在SeaTunnel官网下载SeaTunnel的二进制包,也可以通过docker的方式运行。这里我们以使用最频繁的方式为例。

下载:https://seatunnel.apache.org/download


解压得到二进制包,通过Modify the config file或者创建一个新的,得到我们运行所需要的文件。然后通过我们提供的运行命令,就可以运行SeaTunnel程序了。通过运行例子,可以在控制台得到数据结果。


通过刚才的流程,大家应该知道,我们的Config文件很重要,它定义了任务的运行方式和运行逻辑。接下来,我们来看一下Config,它由environment,source,transform,sink组成。和名称一样,这四个组件定义了一个完整的数据处理流程,从Source读取数据,到Transform处理数据,以及最后的Sink写入数据。整个流程就和右边的图一样,各种各样的数据在SeaTunnel引擎里面流转。

04

SeaTunnel社区


如此强大的功能,怎么能没有强大的社区支持呢?接下来,我为大家介绍社区的发展情况。


通过社区的努力,我们将会支持数百个 Connector,如果有你想要的数据源不在支持列表的话,可以在我们的社区创建issue。


数量如此之多的连接器,如此易用的功能,我们有一个强大的贡献者团队来支持。不过,如果你对此有兴趣,我们希望你能加入到我们的团队中。


虽然我们的项目成立很久了,但是2022年像我们的第一年一样,通过加入Apache孵化器,我们吸引到了很多开发者。现阶段项目和早期相比已经有了天翻地覆的变化,每一个变化都是我们的贡献者带来的。

05

用户案例


最后,为大家介绍我们的用户案例。


目前OPPO在样本中心和特征平台上使用了SeaTunnel促进机器学习,哔哩哔哩用SeaTunnel进行数仓写入和数仓提取。这只是许多成功使用SeaTunnel的案例中的两个。更多的案例可以在我们的官网和Twitter上找到。

  • 项目官网: https://seatunnel.apache.org/
  • Twitter: https://twitter.com/ASFSeaTunnel

如果你有任何使用上的问题,开发上的问题,都可以加入我们的Slack channel,我们将会很开心为你解答疑惑。

Slack: https://join.slack.com/t/apacheseatunnel/shared_invite/zt-1hso5n2tv-mkFKWxonc70HeqGxTVi34w

感谢大家,希望能在SeaTunnel社区里面看到你们的踪影。

Apache SeaTunnel


Apache SeaTunnel(Incubating) 是一个分布式、高性能、易扩展、用于海量数据(离线&实时)同步和转化的数据集成平台

仓库地址: 
https://github.com/apache/incubator-seatunnel

网址:
https://seatunnel.apache.org/

Proposal:
https://cwiki.apache.org/confluence/display/INCUBATOR/SeaTunnelProposal

Apache SeaTunnel(Incubating) 2.1.3 下载地址:
https://seatunnel.apache.org/download
 
衷心欢迎更多人加入!

能够进入 Apache 孵化器,SeaTunnel(原 Waterdrop) 新的路程才刚刚开始,但社区的发展壮大需要更多人的加入。我们相信,在「Community Over Code」(社区大于代码)、「Open and Cooperation」(开放协作)、「Meritocracy」(精英管理)、以及「多样性与共识决策」等 The Apache Way 的指引下,我们将迎来更加多元化和包容的社区生态,共建开源精神带来的技术进步!

我们诚邀各位有志于让本土开源立足全球的伙伴加入 SeaTunnel 贡献者大家庭,一起共建开源!

提交问题和建议:
https://github.com/apache/incubator-seatunnel/issues

贡献代码:
https://github.com/apache/incubator-seatunnel/pulls

订阅社区开发邮件列表 : 
dev-subscribe@seatunnel.apache.org

开发邮件列表:
dev@seatunnel.apache.org

加入 Slack:
https://join.slack.com/t/apacheseatunnel/shared_invite/zt-1cmonqu2q-ljomD6bY1PQ~oOzfbxxXWQ

关注 Twitter: 
https://twitter.com/ASFSeaTunnel

往期推荐




SeaTunnel Connector 接入激励计划第二期正式启动!快来领任务




助力 Shopee 重构系统发布 ETL 功能,SeaTunnel 在电商巨头的实践经验




社区新晋两位 Committer, 今日“官宣”!



点击“阅读原文”参与开源

文章转载自SeaTunnel,如果涉嫌侵权,请发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论