摘要

本文深入探讨了Apache SeaTunnel及其商业版可视化数据同步平台WhaleTunnel在数据整合领域的应用,特别是如何高效地将SAP系统中的数据同步到Amazon Redshift。通过技术介绍、操作流程、性能对比以及实际案例分析,本文为企业介绍了一种快速、可靠的数据整合解决方案。

Apache SeaTunnel概览

当今,无论是国内还是国外,越来越的云上或线下数据库会增加一些例如SAP、Oracle、Oracle ERP等软件。如何更快地把这里面的数据集中到数据仓库?或者说已经有一些数据进入到Redshift/Aurora里面,我们如何把它们分发到SAP或者CRM系统中?

Apache SeaTunnel是一款创新的批流一体数据整合工具,被比喻成是一条“大数据的高速公路”,它支持广泛的数据源和目标数据库,包括但不限于MySQL、PostgreSQL、Kafka、MongoDB、Elastic、Hive、Druid、Redis等。Apache SeaTunnel以其卓越的性能,相较于传统解决方案,能够实现高达30倍的同步速度提升。

相较于早年大家做数据整合和数据处理习惯使用的Spark和Flink这两个用于数据计算的引擎,Apache SeaTunnel是一个专业的批流一体的数据同步工具,在CDC和流式计算场景中有很大的优势。

Apache SeaTunnel从2018年开源,2022年进入Apache孵化器,2023年从Apache孵化器毕业成为顶级开源项目,从一些数据中可以看到,现在Apache SeaTunnel社区非常活跃,目前GitHub Star已经7600+,成为过万星的开源项目指日可待。

得益于它强大的数据同步和整合性能以及易用性,Apache SeaTunnel已经有不少用户,典型用户包括JP Morgan Chase,哔哩哔哩等。

Apache SeaTunnel核心特性

  • 多种同步方式优势:支持批流一体的同步,批量数据同步能够从数据源头上通过JDBC的方式进行同步,或直接对接原来的数据接进行批量数据读写,这比JDBC加载的方式快很多。批流一体的数据同步也是使得CDC非常方便,可以自动化同步历史数据,在内存里驱动并加载相关binlog,省去了手工同步地址等相关工作。同时,Apache SeaTunnel还支持动态加载表,分库分表、Checkpoint等场景。



  • 连接器支持:支持超过130种连接器,覆盖了主流的数据库和数据存储系统。

  • 支持多引擎:Apache SeaTunnel支持自研的Zeta数据同步专用引擎,并与Spark、Flink、Zeta等多种数据处理引擎兼容,提供snapshot存储功能。

  • 性能优势:Apache SeaTunnel在数据同步任务中表现出色,在实际场景中性能优于大部分数据同步工具,例如比DataX快30%,比DMS快80%。

部署便捷性

Apache SeaTunnel的部署过程简单快捷,不需要依赖HDFS,3分钟即可完成部署,可以在Spark、Flink或Zeta上运行,推荐使用Zeta以获得更佳性能。经实测,如果要同步的数据量不大,一台SeaTunnel的服务器就可以支持每天几十G的数据同步。

Apache SeaTunnel相关资源:

SAP数据到Redshift的集成实践

接下来以使用Apache SeaTunnel及其商业版本WhaleTunnel将SAP数据同步Redshift的详细过程为例,为企业介绍一种快速、可靠的数据整合解决方。

数据同步作业创建

在Apache SeaTunnel中,通过SQL代码,用户可以创建数据同步作业,包括数据源的读取、转换以及数据的写入操作。

对于不同的数据源,Source负责从各种数据源中读取数据,通过Tranform将其转化成SeaTunnelRow抽象层(匹配Apache SeaTunnel定义的数据类型),Sink负责从抽象层上拉取数据,写到具体的数据存储上,转化成存储具体的格式。

通过Source+抽象层+Sink这样的组合,就能够完成多种异构数据源之间数据的搬运同步。

从AWS Marketplace快速部署WhaleTunnel

如果那你觉得Apache SeaTunnel的部署方式不够简单,那么可以尝试体验一下它的商业版本——WhaleTunnel。

WhaleTunnel是Apache SeaTunnel核心团队(包括PMC Chair和PMC)建立的DataOps商业公司——白鲸开源打造的一个可视化、高性能的大数据集成工具,感兴趣的话可以直接在AWS Marketplace下载并一键部署。

WhaleTunnel帮助企业快速完成复杂数据源之间CDC与批量整合问题

相较于开源版本的Apache SeaTunnel,WhaleTunnel具有一些特殊的商业版特性,比如提供了一个可视化界面,支持可视化操作、运维与监控配置,简化了数据源的配置和管理;数据源的支持更丰富,目前支持180+种数据源,比如针对Redshift单独做了连接器,与AWS做了深入的技术适配;支持CDC、整库同步、表自动变更场景,并且和Apache DolphinScheduler调度做了全面的整合;以及支持DDL变更自动同步、断点续传等便于数据同步的功能。

通过对比不同工具的性能数据,可以看到WhaleTunnel在不同场景下的性能表现亮眼,尤其是在SAP Hana数据源的同步上。

通过WhaleTunnel可视化配置SAP到Redshift集成

WhaleTunnel可以帮助用户快速可视化配置SAP到Redshift,中间支持针对字段和记录级别的Transform以及类SQL处理。我们在配置SAP只需要把SAP数据源拉进来,然后进行可视化的配置。如果SAP有一些数据要做处理,可以直接通过字段重命名,或者自定义SQL脚本把Redshift数据源拉进来。

  • 创建SAP Hana数据源

WhaleTunnel可以可视化建立和管理数据源,比如SAP Hana数据源在配置一次之后,就可以被各种同步、数据开发调用。

  • 创建S3-Redshift数据源

与Apache SeaTunnel所采用的JDBC数据加载方式不同,WhaleTunnel针对Redshift数据源与AWS进行了技术双向认证,采用自动Merge的方式加载数据,这样,单台8c机器的速度可以达到22w/s,同时支持CDC实时数据源写入,性能卓越。

窄表同步速率(6个字段,4000w行数据) WT离线批量同步性能15w行/s XXS全量同步性能:18w行/s
WT CDC同步初始化阶段性能9w行/s XXS CDC同步初始化阶段:22w行/s
WT CDC增量阶段:3w行/s XXS CDC增量同步:无法同步
查看宽表同步速率(360个字段,800w行数据) WT离线批量同步性能3260行/s XXS离线批量同步3250行/s
WT CDC同步初始化阶段3000行/s XXS CDC同步初始化阶段3250行/s
WT CDC同步增量同步阶段 800行/s XXS CDC增量同步:无法同步
  • 可视化勾选同步表格,自动类型映射与可视化转化

在配置了数据源之后,就把Redshift数据源拖拽进来了。选择目标数据源的操作很简单,直接勾选需要同步的SAP/Oracle/MangoDB等数据源就可以,在界面里还可以进行可视化的配置和修改,支持“模型推演”,在执行任务之前就可以发现数据源匹配、不一致等问题。



  • 直接在Redshift中自动建表和类型转换

WhaleTunnel商业版本还增加了自动建表的功能,并支持自动进行类型转化,无需人工手工建表,可以配置目标端数据的处理策略,支持自定义建表规则。



  • SAP RFC数据同步到Redshift

如果有SAP RFC数据,我们可以使用WhaleTunnel中整合的共工作流调度工具Apache DolphinScheduler,来调用RFC SDK先获取数据,写成一个file,然后再将file数据加载到Redshift当中,省去了原来数据从SAP Hana到Redshift的过程。

  • 全面可视化监控数据同步过程,并根据不同情况报警

WhaleTunnel针对数据同步过程支持全面可视化监控,支持数据延迟报警、DDL变更报警等多种报警策略和钉钉、微信、Slack等多个报警渠道。

AWS客户案例分析

案例背景

客户是一家多元化的台资企业,总部位于上海。集团以食品饮料业务起家,经过多年的发展,已经拓展到医疗服务、餐饮连锁、农业、酒店和房地产等多个领域。近年来,集团的业绩持续增长,2020财年营收达到220亿元。

客户有大量业务数据存在SAP、Oracle、MySQL当中,每日数据达到100G+。原来客户采用的数据整合技术方案是使用Talend抽取SAP数据到S3,形成Hudi文件后,利用EMR处理进入Hive,再进入Redshift。

痛点分析

然而在实际应用中,客户原有的数据整合方案遇到了一些问题,如数据链路过长、抽取速度慢等,具体包括:

  • 从SAP到Redshift数据链路过长,采用多种技术消耗多种资源,且使用原有产品抽取Hana速度过慢
  • 数据直接进入Redshift速度太慢,需要先变成文件再处理
  • Talend使用比较复杂,不能支持Spark Controller,且只支持SAP Hana 6.2,对SAP Hana 7.3支持不好

客户选择白鲸WhaleStudio原因

由于公司人员维护精力有限,客户决定对原有的数据整合方案做出改变,经过竞品对比和测试,最终采用了白鲸开源提供的WhaleStudio(含WhaleTunnel)+SQL的解决方案,更高效地解决了业务问题。

客户最终选择WhaleStudio有诸多因素:

  • 经过POC验证,抽取Hana速度明显提升,不受制于工具本身,而是Hana库资源
  • WhaleStudio界面简单操作,支持可视化开发,支持统一数据源管理与版本控制
  • 采用WhaleStudio可以直接用SAP进入Redshift,再用WhaleStudio 在Redshift上直接SQL开发调试,而不用Hudi、Hive、S3、EMR等复杂开发,使得整体开发效率提升

最终,客户决定全面将Talend迁移至WhaleStudio,目前已经完成迁移并验证1个领域数据全链路,其它19个数据领域链路客户正在迁移进行中。

WhaleStudio解决方案

WhaleStudio的解决方案帮助客户解决了上面所述客户遇到的问题,提升了客户数据抽取的速度,并简化了开发流程。

下面来看一下新旧两套方案的对比,WhaleStudio的优势很明显:

  • 原有方案:Redshift+Talend+Hudi+EMR+SQL,即客户使用Talend抽取SAP数据到S3,形成Hudi文件后,利用EMR处理进入Hive,再进入Redshift。这个方案的优点是可以进行大对象(视频等)存储和复杂非结构化处理,但缺点也很突出,比如组件过多,不易于维护,要求开发人员水平高。

而经过白鲸开源了解,实际上客户的业务数据以结构化数据为主,人员维护精力有限,使用WhaleStudio+SQL能更有效率地解决业务问题。

最终,白鲸开源给出的解决方案是:Redshift+WhaleStudio+SQL,即使用WhaleStudio提供的数据集成平台WhaleTunnel和数据调度平台WhaleScheduler,从SAP Hana来的数据,通过JDBC,在Redshift的ODS层直接写SQL,然后直接写DWD、DWA场景,这样开发起来就相当简单了。

案例成效

使用WhaleStudio提供的方案,客户从SAP Hana来的数据,以及自己的IDC数据和Oracle数据可以通过WhaleTunnel快速地加载到Redshift中,通过WhaleScheduler在Redshift中进行相关的SQL开发、IDE和CI/CD、调度和监控等,形成完整的DataOps流程。

结语

基于Apache SeaTunnel和WhaleTunnel,白鲸开源为企业提供了一个高效、可靠的数据整合解决方案。通过本文的技术介绍和案例分析,希望能够帮助更多企业优化其数据处理流程,提升数据整合效率。

本文由 白鲸开源 提供发布支持!

你要的高效方案!基于Apache SeaTunnel快速集成SAP进入Redshift的更多相关文章

  1. 陈胡:Apache SeaTunnel实现 非CDC数据抽取实践

    导读: 随着全球数据量的不断增长,越来越多的业务需要支撑高并发.高可用.可扩展.以及海量的数据存储,在这种情况下,适应各种场景的数据存储技术也不断的产生和发展.与此同时,各种数据库之间的同步与转化的需 ...

  2. 挑战海量数据:基于Apache DolphinScheduler对千亿级数据应用实践

    点亮 ️ Star · 照亮开源之路 GitHub:https://github.com/apache/dolphinscheduler 精彩回顾 近期,初灵科技的大数据开发工程师钟霈合在社区活动的线 ...

  3. Apache SeaTunnel (Incubating) 2.1.0 发布,内核重构、全面支持 Flink

    2021 年 12 月 9 日,SeaTunnel (原名 Waterdrop) 成功加入 Apache 孵化器,进入孵化器后,SeaTunnel 社区花费了大量时间来梳理整个项目的外部依赖以确保整个 ...

  4. 基于 Apache Hudi 极致查询优化的探索实践

    摘要:本文主要介绍 Presto 如何更好的利用 Hudi 的数据布局.索引信息来加速点查性能. 本文分享自华为云社区<华为云基于 Apache Hudi 极致查询优化的探索实践!>,作者 ...

  5. Tomcat:基于Apache+Tomcat的集群搭建

    根据Tomcat的官方文档说明可以知道,使用Tomcat配置集群需要与其它Web Server配合使用才可以完成,典型的有Apache和IIS. 这里就使用Apache+Tomcat方式来完成基于To ...

  6. 基于 Apache Mahout 构建社会化推荐引擎

    基于 Apache Mahout 构建社会化推荐引擎 http://www.ibm.com/developerworks/cn/views/java/libraryview.jsp 推荐引擎利用特殊的 ...

  7. Java导出数据行写入到Excel表格:基于Apache POI

    Java导出数据行写入到Excel表格:基于Apache POI import java.io.File; import java.io.FileOutputStream; import org.ap ...

  8. 基于Apache Thrift的公路涵洞数据交互实现原理

    基于Apache Thrift的公路涵洞数据交互实现原理 Apache Thrift简介 Apache Thrift(以下简称为“Thrift”) 是 Facebook 实现的一种高效的.支持多种编程 ...

  9. 基于Apache Hudi构建数据湖的典型应用场景介绍

    1. 传统数据湖存在的问题与挑战 传统数据湖解决方案中,常用Hive来构建T+1级别的数据仓库,通过HDFS存储实现海量数据的存储与水平扩容,通过Hive实现元数据的管理以及数据操作的SQL化.虽然能 ...

  10. Robinhood基于Apache Hudi的下一代数据湖实践

    1. 摘要 Robinhood 的使命是使所有人的金融民主化. Robinhood 内部不同级别的持续数据分析和数据驱动决策是实现这一使命的基础. 我们有各种数据源--OLTP 数据库.事件流和各种第 ...

随机推荐

  1. Vue 打包相关

    Vue 打包相关 vue-cli-service build# 用法:vue-cli-service build [options] [entry|pattern] 选项: --mode 指定环境模式 ...

  2. 新浪微博动态 RSA 分析图文+登录

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 新浪微博动态 RSA 分析图文+登录 日期:2016-10 ...

  3. 实现 Emlog 最新评论列表不显示博主的评论回复

    Tips:当你看到这个提示的时候,说明当前的文章是由原emlog博客系统搬迁至此的,文章发布时间已过于久远,编排和内容不一定完整,还请谅解` 实现 Emlog 最新评论列表不显示博主的评论回复 日期: ...

  4. c++引用(REFERENCES)

    一个例子 void add(int value) { value++; } int main() { int a = 5; LOG(a); add(a); LOG( a); } 在这种情况下,变量a在 ...

  5. 技嘉BIOS超频设置操作路径

    关闭超线程 频率电压控制 > 进阶处理器设置 > Hyper_THreading 关小核心 频率电压控制 > GIGABYTE PerfDrive > Ecore Disabl ...

  6. IT运维全面数字化|芯片设计行业领跑打造运维流程闭环

    在当今数字化转型的浪潮中,科技行业正经历着前所未有的变革.随着5G.人工智能.物联网等新兴技术的快速发展,企业对于高效.智能的运营模式的需求日益迫切. 芯片设计公司作为科技产业链中的关键一环,不仅要在 ...

  7. poj1338 ugly number 题解 打表

    类似的题目有HDU1058 humble number(翻译下来都是丑陋的数字). Description Ugly numbers are numbers whose only prime fact ...

  8. VUE商城项目 - 项目优化上线 - 手稿

  9. 动手学深度学习——CNN应用demo

    CNN应用demo CNN实现简单的手写数字识别 import torch import torch.nn.functional as F from torchvision import datase ...

  10. Swift开发基础02-流程控制

    if-slse let age = 4 if age >= 22 { print("Get married") } else if age >= 18 { print( ...