王華磊:Apache Linkis在湖倉一體架構下的數據處理實踐

從一個項目成長到今天,Apache 軟件基金會(ASF)已經成爲目前爲止全球最大的開源軟件基金會,維護着包括 350 多個頂級項目以及數十個孵化器項目,爲全球提供着幾十億甚至上百億美元市值的開源軟件,是推動全球開源軟件發展的重要力量。
伴隨着全球開源項目數量的迅速增長,我們很高興看到越來越多中國的開發者與開源項目加入,以及越來越多高質量項目的湧現。種種跡象表明,中國在國際基金會的影響力愈發重要。
今年,CommunityOverCode Asia(原 ApacheCon Asia)作爲 Apache 軟件基金會的官方全球系列大會首次在中國舉辦線下活動, Apache Linkis項目的核心成員共赴此次開源技術盛宴。

以下內容爲Apache Linkis Contributor 王華磊在活動中的分享內容。


Apache Linkis在湖倉一體架構下的數據處理實踐

來自郵儲銀行副主任工程師——王華磊,代表社區分享了Apache Linkis在湖倉一體架構下的數據處理實踐的主題演講

銀行大數據湖倉一體架構由於對於穩定性、安全性等方面的要求更高,使得其與互聯網公司有很大的不同,同時也面臨更大的挑戰。接下來將結合大數據平臺總體架構實施過程的對各種挑戰“見招拆招”。

爲達到技術自主可控、兼容開放的目標,,可以選型開源Hadoop+MPP的結合的湖倉一體技術架構,融合批量實時數據處理雙鏈路,基於Iceberg數據湖格式,使用Spark(批量)、Flink(實時)計算引擎,再結合使用Apache Linkis構建湖倉一體的技術平臺底座,從而達到提質增效的實施效果。

大數據湖倉一體架構參考


挑戰1:技術組件多,基礎環境維護複雜

開源Hadop集羣往往很多個,通常集羣上層應用會直接訪問集羣,由於不同的應用由不同的項目組負責,基礎環境的變更會直接影響上層所有應用的關聯變更,協調工作多,生產變更風險大。

典型場景1:集羣擴縮容,由於hdfs客戶端需要訪問所有數據節點需要同步更新主機的/etc/hosts文件,容易出現關聯應用分析不到位,無法同時變更導致生產問題。

典型場景2:HiveServer2重啓,爲保障造成應用批量的正常運行,需要同步協調各應用項目組擇機操作。


挑戰2:技術有難度,技術開發門檻高

不同於互聯網大廠,一般企業的科技人員都是以應用開發人員爲主,偏底層的技術人員儲備較少,開源社區的不同組件解決不同的問題,也存在不同的使用方式,從而要求應用開發人員需要的技能較多,但普遍技術門檻高,導致技術人員成本高。


挑戰3:開源組件版本升級快,API變化大

開源社區的繁榮,一方面讓程序員享受技術進步的喜悅,同時也帶來無盡的“苦難”。部分組件,例如Flink、Spark,不僅版本升級迭代速度快,大版本的API變化也多,往下兼容存在問題。對於多租戶的集羣,“衆口難調”。


挑戰4:不同算引擎的元數據存儲不同,統一視圖難

不同的開源組件支持的元數據存儲不同,作爲技術平臺,希望看到統一的元數據視圖,瞭解自己有多少數據。對於支持Hive Metastore的,可以儘量往Metastore靠攏。對於不支持的,應用開發人員需要獨立連接多個計算組件查詢。


面對以上問題, Apache Linkis 在郵儲銀行的應用實踐過程中,

  • 通過實現計算組件的底層對接,對外提供統一接口調用:

基於Apache Linkis構建統一的中間訪問層,對上層應用提供統一的Rest接口,簡化了客戶端部署,提升了管控能力。

  • 降低應用開發門檻,優先使用SQL開發:

對於支持SQL的引擎,優先使用SQL進行業務開發,再結合Linkis中的Scripts組件提供Sql編輯和調試,極大了降低了對應用開發人員的技術門檻。

  • 同一組件多版本共存,嘗試灰度升級:

利用Apache Linkis的引擎管理,可以爲不同應用配置的計算引擎版本,再結合灰度發佈,基本解決不同應用使用不同組件版本的需求。

  • Hive Catalog爲主,提供元數據統一入口:

藉助Apache Linkis的多數據管理,以Hive Catalog數據模型爲主,將Hbase、Kafka、MPP、Doris數據庫相關的元數據底層存儲封裝,對外提供接口調用,構建技術元數據統一入口。結合Apache Atlas初步建立技術元數據血緣。


通過與Apache Linkis社區的協作,目前Apache Linkis已具備日批量運行作業6萬及以上的能力,同時,我們也積極的參與 Apache Linkis 社區的共建,在某些特性方面做增強的支持,如:

未來,我們也將繼續基於Linkis 不斷的進行系統優化和性能提升,對於Iceberg和容器化部署會更爲關注

  • Iceberg等數據湖技術的管理“外掛

在湖倉架構下,Apache Linkis能將對底層技術組件的技術門檻,對於Iceberg等數據湖格式,可以探索更多的功能實現。我們也計劃結合Linkis的引擎、元數據等模塊,增加對Iceberg數據管理的“外掛”,完成Iceberg相關的表結構優化,小文件合併等功能實現。

  • 加大容器化部署方面的實踐

由於Apache Linkis採用微服務架構,安裝部署還是存在一定的技術門檻,爲滿足快速部署的場景,積極與社區互動,進行容器化部署實踐。
在此,也期待大家能夠一同完善、共建 Linkis生態,讓社區發展的越來越好。更多關於Apache Linkis的內容,大家可以到 WeDatasphere 社區進行了解。

— END —

如何成爲社區貢獻者

 官方文檔貢獻。發現文檔的不足、優化文檔,持續更新文檔等方式參與社區貢獻。通過文檔貢獻,讓開發者熟悉如何提交PR和真正參與到社區的建設。參考攻略:保姆級教程:如何成爲Apache Linkis文檔貢獻者


 代碼貢獻。我們梳理了社區中簡單並且容易入門的的任務,非常適合新人做代碼貢獻。請查閱新手任務列表:https://github.com/apache/incubator-linkis/issues/1161


 內容貢獻:發佈WeDataSphere開源組件相關的內容,包括但不限於安裝部署教程、使用經驗、案例實踐等,形式不限,請投稿給小助手。例如:


 社區答疑:積極在社區中進行答疑、分享技術、幫助開發者解決問題等;


 其他:積極參與社區活動、成爲社區志願者、幫助社區宣傳、爲社區發展提供有效建議等;

本文分享自微信公衆號 - WeDataSphere(gh_273e85fce73b)。
如有侵權,請聯繫 [email protected] 刪除。
本文參與“OSC源創計劃”,歡迎正在閱讀的你也加入,一起分享。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章