你要的高效方案!基于Apache SeaTunnel快速集成SAP进入Redshift

Amazon Aurora
Amazon Aurora Serverless v2
Amazon Redshift
0
0
### 摘要 本文深入探讨了Apache SeaTunnel及其商业版可视化数据同步平台WhaleTunnel在数据整合领域的应用,特别是如何高效地将SAP系统中的数据同步到[Amazon Redshift](https://aws.amazon.com/cn/redshift/?trk=cndc-detail)。通过技术介绍、操作流程、性能对比以及实际案例分析,本文为企业介绍了一种快速、可靠的数据整合解决方案。 ### 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和流式计算场景中有很大的优势。 ![1.png](https://dev-media.amazoncloud.cn/1409e5b3a91f4a44adac2ae0f224316e_1.png "1.png") Apache SeaTunnel从2018年开源,2022年进入Apache孵化器,2023年从Apache孵化器毕业成为顶级开源项目,从一些数据中可以看到,现在Apache SeaTunnel社区非常活跃,目前GitHub Star已经7600+,成为过万星的开源项目指日可待。 ![2.png](https://dev-media.amazoncloud.cn/9b9120055dd24a52881b200b36cb744c_2.png "2.png") 得益于它强大的数据同步和整合性能以及易用性,Apache SeaTunnel已经有不少用户,典型用户包括JP Morgan Chase,哔哩哔哩等。 #### Apache SeaTunnel核心特性 - **多种同步方式优势**:支持批流一体的同步,批量数据同步能够从数据源头上通过JDBC的方式进行同步,或直接对接原来的数据接进行批量数据读写,这比JDBC加载的方式快很多。批流一体的数据同步也是使得CDC非常方便,可以自动化同步历史数据,在内存里驱动并加载相关binlog,省去了手工同步地址等相关工作。同时,Apache SeaTunnel还支持动态加载表,分库分表、Checkpoint等场景。 ![4.png](https://dev-media.amazoncloud.cn/30e8654d10294903947a7eecc92a196b_4.png "4.png") ![5.png](https://dev-media.amazoncloud.cn/e9c6adee75b2438b8c0bd147907f6985_5.png "5.png") - **连接器支持**:支持超过130种连接器,覆盖了主流的数据库和数据存储系统。 ![3.png](https://dev-media.amazoncloud.cn/a502dde79ef04287a823d7921e9b09af_3.png "3.png") - **支持多引擎**:Apache SeaTunnel支持自研的Zeta数据同步专用引擎,并与Spark、Flink、Zeta等多种数据处理引擎兼容,提供snapshot存储功能。 ![6.png](https://dev-media.amazoncloud.cn/8ef0f6723c254bfcb7a705ed764564f9_6.png "6.png") - **性能优势**:Apache SeaTunnel在数据同步任务中表现出色,在实际场景中性能优于大部分数据同步工具,例如比DataX快30%,比DMS快80%。 ![7.png](https://dev-media.amazoncloud.cn/580ec67521f447d5a1cb096967f906e8_7.png "7.png") ![8.png](https://dev-media.amazoncloud.cn/0aa88ad5f4bb4a739137e6ef11b57085_8.png "8.png") #### 部署便捷性 Apache SeaTunnel的部署过程简单快捷,不需要依赖HDFS,3分钟即可完成部署,可以在Spark、Flink或Zeta上运行,推荐使用Zeta以获得更佳性能。经实测,如果要同步的数据量不大,一台SeaTunnel的服务器就可以支持每天几十G的数据同步。 ![9.png](https://dev-media.amazoncloud.cn/92f671a5658a4575b1a600772b62df6c_9.png "9.png") Apache SeaTunnel相关资源: * 官网: https://seatunnel.apache.org - GitHub:https://github.com/apache/incubator-seatunnel - Slack:https://apacheseatunnel.slack.com * X:https://twitter.com/asfseatunnel B 站:https://space.bilibili.com/1542095008 ### SAP数据到Redshift的集成实践 接下来以使用Apache SeaTunnel及其商业版本WhaleTunnel将SAP数据同步Redshift的详细过程为例,为企业介绍一种快速、可靠的数据整合解决方。 #### 数据同步作业创建 在Apache SeaTunnel中,通过SQL代码,用户可以创建数据同步作业,包括数据源的读取、转换以及数据的写入操作。 ![10.png](https://dev-media.amazoncloud.cn/ad90a6ba4d0f44cbb2f5c1baff011ca9_10.png "10.png") 对于不同的数据源,Source负责从各种数据源中读取数据,通过Tranform将其转化成SeaTunnelRow抽象层(匹配Apache SeaTunnel定义的数据类型),Sink负责从抽象层上拉取数据,写到具体的数据存储上,转化成存储具体的格式。 通过Source+抽象层+Sink这样的组合,就能够完成多种异构数据源之间数据的搬运同步。 #### 从AWS Marketplace快速部署WhaleTunnel 如果那你觉得Apache SeaTunnel的部署方式不够简单,那么可以尝试体验一下它的商业版本——WhaleTunnel。 ![11.png](https://dev-media.amazoncloud.cn/501e377dee0a444aab0f14e7c0c3b168_11.png "11.png") WhaleTunnel是Apache SeaTunnel核心团队(包括PMC Chair和PMC)建立的DataOps商业公司——白鲸开源打造的一个可视化、高性能的大数据集成工具,感兴趣的话可以直接在AWS [Marketplace](https://aws.amazon.com/marketplace/pp/prodview-kzzy36f3blbxu)下载并一键部署。 #### WhaleTunnel帮助企业快速完成复杂数据源之间CDC与批量整合问题 ![13.png](https://dev-media.amazoncloud.cn/36ddc37494c946b6924bae7984dde197_13.png "13.png") 相较于开源版本的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数据源拉进来。 ![14.png](https://dev-media.amazoncloud.cn/3683e786a64c47d6a69f24f247c69e0a_14.png "14.png") - 创建SAP Hana数据源 WhaleTunnel可以可视化建立和管理数据源,比如SAP Hana数据源在配置一次之后,就可以被各种同步、数据开发调用。 ![15.png](https://dev-media.amazoncloud.cn/b28b5d42f1024cf8a5d469cf70007fc6_15.png "15.png") - 创建S3-Redshift数据源 ![16.png](https://dev-media.amazoncloud.cn/889bcd9527254efb879e5d532e1d243c_16.png "16.png") 与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等数据源就可以,在界面里还可以进行可视化的配置和修改,支持“模型推演”,在执行任务之前就可以发现数据源匹配、不一致等问题。 ![17.png](https://dev-media.amazoncloud.cn/5c0d56b0f7e145488150de6ccec5f183_17.png "17.png,18.png") ![18.png](https://dev-media.amazoncloud.cn/283ce0feb309498c830a91b69ccaf703_18.png "18.png") - 直接在Redshift中自动建表和类型转换 WhaleTunnel商业版本还增加了自动建表的功能,并支持自动进行类型转化,无需人工手工建表,可以配置目标端数据的处理策略,支持自定义建表规则。 ![19.png](https://dev-media.amazoncloud.cn/c7d9154cceee4807bab215377b363fc2_19.png "19.png") ![20.png](https://dev-media.amazoncloud.cn/e5753879d80e4ed9baa8b9ec3b1f57f6_20.png "20.png") - SAP RFC数据同步到Redshift 如果有SAP RFC数据,我们可以使用WhaleTunnel中整合的共工作流调度工具Apache DolphinScheduler,来调用RFC SDK先获取数据,写成一个file,然后再将file数据加载到Redshift当中,省去了原来数据从SAP Hana到Redshift的过程。 ![21.png](https://dev-media.amazoncloud.cn/bcd5ee3d687546628dbfd4ff23977fef_21.png "21.png") - 全面可视化监控数据同步过程,并根据不同情况报警 WhaleTunnel针对数据同步过程支持全面可视化监控,支持数据延迟报警、DDL变更报警等多种报警策略和钉钉、微信、Slack等多个报警渠道。 ![22.png](https://dev-media.amazoncloud.cn/943ba9b6f0674d5cb1e16543cb92a1d3_22.png "22.png") ### 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。这个方案的优点是可以进行大对象(视频等)存储和复杂非结构化处理,但缺点也很突出,比如组件过多,不易于维护,要求开发人员水平高。 ![23.png](https://dev-media.amazoncloud.cn/d142e6b8ab974ecdbfabfb5ee4fd1686_23.png "23.png") 而经过白鲸开源了解,实际上客户的业务数据以结构化数据为主,人员维护精力有限,使用WhaleStudio+SQL能更有效率地解决业务问题。 最终,**白鲸开源给出的解决方案是:Redshift+WhaleStudio+SQL**,即使用WhaleStudio提供的数据集成平台WhaleTunnel和数据调度平台WhaleScheduler,从SAP Hana来的数据,通过JDBC,在Redshift的ODS层直接写SQL,然后直接写DWD、DWA场景,这样开发起来就相当简单了。 ![24.png](https://dev-media.amazoncloud.cn/d15a36b3ef9940fd9b2b920e9892b0d5_24.png "24.png") #### 案例成效 ![25.png](https://dev-media.amazoncloud.cn/1c93ed0cd86d415aa81c73fa780db828_25.png "25.png") 使用WhaleStudio提供的方案,客户从SAP Hana来的数据,以及自己的IDC数据和Oracle数据可以通过WhaleTunnel快速地加载到Redshift中,通过WhaleScheduler在Redshift中进行相关的SQL开发、IDE和CI/CD、调度和监控等,形成完整的DataOps流程。 ### 结语 基于Apache SeaTunnel和WhaleTunnel,白鲸开源为企业提供了一个高效、可靠的数据整合解决方案。通过本文的技术介绍和案例分析,希望能够帮助更多企业优化其数据处理流程,提升数据整合效率。
0
目录
关闭