你要的高效方案!基於Apache SeaTunnel快速整合SAP進入Redshift

ApacheSeaTunnel發表於2024-07-16

摘要

本文深入探討了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,白鯨開源為企業提供了一個高效、可靠的資料整合解決方案。透過本文的技術介紹和案例分析,希望能夠幫助更多企業最佳化其資料處理流程,提升資料整合效率。

本文由 白鯨開源 提供釋出支援!

相關文章