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

news/2024/11/17 2:57:23/文章来源:https://www.cnblogs.com/seatunnel/p/18304888

摘要

本文深入探讨了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和流式计算场景中有很大的优势。

file

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

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

Apache SeaTunnel核心特性

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

file
file

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

file

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

file

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

file

file

部署便捷性

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

file

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代码,用户可以创建数据同步作业,包括数据源的读取、转换以及数据的写入操作。

file

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

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

从AWS Marketplace快速部署WhaleTunnel

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

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

file

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

file

相较于开源版本的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数据源拉进来。

file

  • 创建SAP Hana数据源

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

file

  • 创建S3-Redshift数据源

file

与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等数据源就可以,在界面里还可以进行可视化的配置和修改,支持“模型推演”,在执行任务之前就可以发现数据源匹配、不一致等问题。

file
file

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

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

file
file

  • SAP RFC数据同步到Redshift

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

file

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

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

file

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。这个方案的优点是可以进行大对象(视频等)存储和复杂非结构化处理,但缺点也很突出,比如组件过多,不易于维护,要求开发人员水平高。

file

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

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

file

案例成效

file

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

结语

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

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/744624.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

testfile

卷积神经网络CNN标题酷酷酷极度饥饿 你还记得呢哇 的稳定器 的味道气味的文字的修改: 现场尺寸,哈哈哈哈 尝试多次受到 分析,设计,改进 dwdwd dwdw dw dwd w dwd wd wd wd wd wd wd w dw wd d wd wd wd wdwdw dw d wd d wd w dwd w dw dw d行内公式\(\sqrt{3x-1}+(1+x)^2\)…

SSR和Nust介绍

SSR 什么是SSR(Server-Side Rendering服务端渲染)注意:服务端只是生成前期首屏页面所需的 html ,后期的交互和数据处理还是需要能支持浏览器脚本的 Client Bundle 来完成。 Nust 基础

Docker如何将本地镜像上传到服务器并解压使用该镜像?

第一步 本地导出镜像包.tar文件 docker save -o app.tar nuxt_app:1.0.1提示: app.tar这个文件名称任意取,.tar后缀不能随意修改。第二步 将导出的镜像包文件app.tar上传到服务器第三步 在服务器解压镜像 cd /opt/docker-compose/save_image/ sudo docker load < app.tar第…

[题解]POJ3304 Segment

POJ3304 Segment 题意简述 多测,每次给定\(n\)条线段,请问是否能找到\(1\)条直线,使得所有线段在该直线上的投影有公共部分。 注:两点距离\(<10^{-8}\)被认为是相等的。 思路分析 题意转化一下,就是要我们找一条直线\(l_1\),穿过所有线段。这样对于任意直线\(l_2\perp…

C#开发socket通信winfrom

UI界面: 实现: 服务端Server :开启服务端按钮点击事件Thread threadWatch = null; //负责监听客户端的线程Socket socketWatch = null; //负责监听客户端的套接字private void button3_Click(object sender, EventArgs e){try{//定义一个套接字用于监听客户端发来的信息 …

车载以太网交换机入门基本功(2)— 初识VLAN

这么方便的VLAN,究竟是用了什么“魔法”做到的呢? 在《交换机入门基本功 -上》提到,交换机在物理层面划分通信区域并产生局域网(Local Area Network, LAN)。局域网具有一个特点:连线拓扑一旦确定,一定时间内不会发生通信区域的变动。在实际通信过程中,广播报文和…

基础知识

主要是怕忘记,就当简单的记事本了,随时补充( 32位&64位 32(x86) 函数参数在函数返回地址上方 64(x64) 前六个参数依次保存在 RDI、RSI、RDX、RCX、R8、R9寄存器中 剩余的保存在栈上 各寄存器主要功能系统调用 步骤 1.加载系统调用号 将系统调用号加载到rax寄存器 2.准备…

NewSQL-TiDB 分布式数据库运维技术从0到1实战入门

一、TiDB简介 TiDB 是一种新型的分布式数据库,它结合了传统关系型数据库的易用性和 NoSQL 数据库的高性能、可扩展性。作为一款 NewSQL 数据库,TiDB 旨在解决大规模在线事务处理(OLTP)系统的需求,同时支持 JSON、图形等非关系型数据结构。 TiDB 的优势兼容性:TiDB 兼容 M…

W外链有哪些功能?短网址/活码/私信卡片

在当今互联网高速发展的时代,短网址生成平台已经成为网络营销、社交媒体推广以及个人用户分享链接时不可或缺的工具。在众多短网址生成平台中,W外链短网址生成平台凭借其独特的功能和优势,赢得了广大用户的青睐。本文将详细介绍W外链短网址生成平台的核心功能,帮助读者更好…

[FireshellCTF2020]Caas 1

c语言编译器 打开之后看见是个输入框,随便输入然后发现报错是c语言的,尝试输出helloword #include <stdio.h>int main() {printf("Hello, World! \n");return 0; }给我们了一个文件,运行一下编译器没跑了,直接 #include "/flag"报错中漏了flag

网页文件加载失败如何重试

本文由 ChatMoney团队出品 在我们开发网站应用时,我们可能会遇到脚本加载失败的情况,导致脚本加载失败的原因有很多,比如用户的网络问题、终端设备问题、用户浏览器版本等诸多因素。 解决方案 在 JavaScript 中,我们可以创建一个监听来监听脚本加载失败的情况,然后针对加载…

rust各种库

ndarray ndarray 是 NumPy 库中的一个核心数据结构,它是一个用于表示多维数组的对象。ndarray 在存储和操作大型多维数组时非常高效,广泛应用于科学计算、数据分析、机器学习等领域。 在 Rust 开发中,ndarray 库可以作为替代 NumPy 库。 Github 地址:https://github.com/r…