作者 | 蔡芳芳
采訪嘉賓 | 劉京娟、賈揚清、王峰
作為開源大數據項目的發端,Hadoop 興起至今已經超過十五年。在過去這十數年里,開源大數據領域飛速發展,我們見證了多元化技術的興起和變遷。
為了從代碼托管平臺匯聚的海量數據里,通過數據處理和可視化的方式,深刻洞察開源大數據技術的過去、現在和未來,并為企業和開發者在開源大數據技術領域的應用、學習、選型和技術研發等方面提供有益參考,開放原子開源基金會、X-Lab 開放實驗室、阿里巴巴開源委員會共同發起了「2022 開源大數據熱力報告」項目。
報告從 Hadoop 發展的第 10 年,即 2015 年起,收集相關公開數據進行關聯分析,研究開源大數據進入新階段后的技術趨勢,以及開源社區的運作模式對技術走向的助推作用。
經過對最活躍的 102 個開源大數據項目進行研究,報告發現:每隔 40 個月,開源項目熱力值就會翻一倍,技術完成一輪更新迭代。在過去 8 年里,共發生了 5 次較大規模的技術熱力躍遷,多元化、一體化、云原生成為當前開源大數據發展趨勢的最顯著特征。
開放原子開源基金會副秘書長劉京娟表示,報告希望重點對如下人群有所幫助:
(1)從事大數據技術研發的企業和開發者。他們可以通過報告,了解大數據技術的發展趨勢,從而指引學習方向并提升自身的技能,從技術活躍度的角度為應用開發的技術選型提供一定的參考。
(2)有志于為開源項目貢獻代碼的開發者。開源大數據細分領域眾多、百花齊放,但也存在一些相對薄弱的環節,比如數據安全和數據管理等,開發者可以從多個細分領域切入,幫助這些領域更好地發展。
(3)開源大數據項目的運營者或者維護者。他們能夠從優秀項目的熱力發展趨勢中,獲取經驗和規律,從而用更成熟的方式運營開源項目。
對于大數據從業者們來說,開源大數據項目熱力遷徙背后的技術發展邏輯是怎樣的?大家應該如何應對新技術趨勢帶來的挑戰?針對這些問題,近日 InfoQ 與阿里巴巴集團副總裁、阿里巴巴開源委員會主席、阿里云計算平臺事業部負責人賈揚清,Apache Flink 中文社區發起人、阿里巴巴開源大數據平臺負責人王峰(花名莫問)聊了聊。
用戶需求多樣化推動技術多元化
以 Hadoop 為核心的開源大數據體系,從 2015 年開始轉變為多元化技術并行發展。
一方面,原有 Hadoop 體系的產品迭代趨于穩定。部分 Hadoop 生態項目(如 HDFS)成為其他新興技術的基礎依賴,一些常見的開源大數據組件組合,比如 Flink+Kafka、Spark+HDFS 等,經過開源生態市場的檢驗,比較成熟也容易上手,已經成為相對固定的標準化選擇。
另一方面,開發者的熱情分別涌向「搜索與分析」、「流處理」、「數據可視化」、「交互式分析」、「DataOps」、「數據湖」六大技術熱點領域,每個熱點領域集中解決某個特定場景問題。
報告呈現出的熱點領域熱力躍遷(熱力值大幅度跳變)情況與此相符:「數據可視化」在 2016 和 2021 年經歷了兩次熱力躍遷,「搜索與分析」和「流處理」 在 2019 年熱力躍遷, 「交互式分析」和 「DataOps」從 2018 年和 2021 年經歷了兩次熱力躍遷、 「數據湖」在 2020 年熱力躍遷。
這也呼應了大數據應用場景和規模變化的趨勢:從上層數據可視化應用普及,到數據處理技術升級,再到數據存儲和管理的結構性演變,最終,數據基礎設施能力的提升又反過來推動上層應用技術革新。
賈揚清認為,熱力躍遷背后體現了技術發展是一個螺旋上升的過程,用戶側需求推進技術往前一步之后,就需要系統側再往前一步,以實現更好的可擴展性、更低的成本和更高的靈活性;當系統側達到了一個能夠承載更大規模數據計算處理分析的狀態,大家又會開始尋求是不是可以把用戶側或業務側的數據分析、可視化等做得更好。比如,流行的開源大數據可視化工具 Apache Superset,其背后的商業公司 Preset 最近就在 BI 方面做新的探索。
相比已經趨于穩定的原 Hadoop 體系,新場景之下,如數據治理分析、流式計算 +OLAP、數據湖等,開源大數據組件仍然在不斷推陳出新,未來存在比較多變數。
隨著這些后起的大數據開源組件越來越龐雜,開發者們駕馭開源數據平臺的難度也與日俱增。這其實給想要利用開源組件構建企業級大數據平臺的企業帶來了相當大的挑戰。
首先,大部分業務場景都需要多個大數據組件互相配合使用,這就要求技術團隊同時掌握很多不同的大數據組件,并且要能融會貫通、知道如何將這些組件更好地組合到一起。但大部分中小公司或傳統企業并沒有足夠的大數據基礎人才。因此企業可能需要一個比較專業的大數據團隊,為他們提供設計、咨詢以及指導,讓他們能夠把開源大數據的組件串聯在一起形成一整套解決方案。
其次,當業務規模增大,企業對大數據平臺的穩定性、安全性和高可用能力的要求也會隨之提高,必然會增加構建大數據平臺的復雜性。比如系統出現問題時,到底問題在哪里,怎么去診斷、分析、報警,做到實時可觀測,這些配套能力都是開源大數據組件本身不具備的。這需要在開源生態上做出配套的工具或產品,幫助企業更好的發現問題、定位問題和解決問題。
以上挑戰,在賈揚清和王峰看來,都可以通過云上標準化產品在一定程度上解決掉。但從另一個角度來看,云本身其實也給大數據技術棧帶來了一些新的挑戰。
云原生帶來的變化和挑戰
報告顯示,2015 年后出現的新項目,無一例外均在云原生方向進行了積極的技術布局。Plusar、 DolphinScheduler、JuiceFS、Celeborn、Arctic 等誕生于云原生時代的開源項目如雨后春筍般破土成長。這些新項目在 2022 年的熱力值占比已經達到 51%,其中,數據集成、數據存儲、數據開發與管理等領域都發生了非常大的項目更迭,新項目熱力值占比已經超過了 80%。從 2020 年開始, Spark、 Kafka、Flink 等主流項目也陸續正式支持 Kube.NETes。
云原生趨勢下,開源大數據技術棧正處于重構之中。其中數據集成領域的重構相比其他細分領域走得更快一些。
隨著云端多樣化數據收集需求的爆發,以及下游數據分析邏輯的變化,數據集成從“勞動密集型”ETL 工具演進到靈活高效易用的“數據加工流水線”。傳統數據集成工具 Flume、 Camel 處于平穩維護狀態, Sqoop 已于 2021 年從 Apache 基金會退役。與云原生結合更緊密的 Airbyte、Flink CDC、 SeaTunnel、 InLong 等項目飛速發展。
在報告的熱力趨勢中可以看到,云原生數據集成在 2018 年超越了傳統數據集成,從 2019 年開始,這一演進歷程加速,熱力值逐年翻倍。不少新孵化的項目熱力值年均復合增長率超過 100%,增長勢頭強勁。
過去幾年,數據源和數據存儲逐步遷移到云端,更多元化的計算負載也運行到了云端。云底座實際上改變了開源大數據的很多前提,作為這場變革的親歷者,王峰感觸頗深。
十多年前,王峰就參與了基于 Hadoop 做大數據開發的工作,當時他還是比較初級的工程師,大部分工作還基于本地機器,需要考慮的問題包括選擇什么機型、多大磁盤、磁盤大還是內存大等。
如今,大數據的底座變成了云上的虛擬機、容器、對象存儲、云存儲,所有開源項目從一開始就要考慮彈性架構、要考慮如何具備很好的可觀測性、要考慮怎么跟 Kubernetes 等云原生生態天然對接,等等,這些問題已經存在于大家的潛意識里,改變了很多開源項目在初始階段的預期。
同時在云上運行之后,數據架構也會發生變化。比如計算與存儲分離已經成為大數據平臺的標準架構,是現在大家默認一定要考慮的問題,因此不管是什么大數據組件(Flink、Hive、Presto 等等),在做數據 Shuffle 的時候都要考慮到不能再依賴本機、不能假設會有本地磁盤,因為在云上機器是必定會遷移的。這就需要一個通用的 shuffle 服務來協助完成這項工作,把云上資源模型變化考慮進去做自適應地調度。前不久阿里捐獻給 Apache 基金會的開源項目 Celeborn,做的就是幫助計算引擎提升數據 shuffle 性能的工作。
技術層面,云給原有的開源大數據體系帶來的挑戰不止于此。比如調度基礎,以前大家都默認在 Hadoop 上做資源管理和調度,上云之后大家則都擁抱 Kubernetes 生態,基于 Kubernetes 來做編排和調度。但 Kubernetes 作為在線調度服務,調度大規模數據計算任務存在瓶頸,阿里內部本身對 Kubernetes 做了非常多改進。
另外,比如云存儲雖然優勢多多,但也存在傳輸帶寬、數據 locality 方面的缺陷。一些后起的開源項目如 JuiceFS、Alluxio 等,就是為了解決云存儲加速的問題而生,阿里云 EMR 上的大數據存儲加速服務 JindoData 也在做這方面的工作。王峰表示,開源大數據體系還在不斷進化,仍需要走一段路,才能真正與云原生徹底結合。
大數據從業者如何面向未來發展?
作為技術創新的實驗場,云原生帶來了更靈活的資源彈性和更低的存儲、運維成本,讓很多企業可以更大膽地在云上做一些嘗試,提升了大家試錯、試新的意愿,自然也更有利于創新技術或軟件的成功。賈揚清觀察到,海外有很多新軟件或新引擎會走“先吸引用戶、然后把用戶轉化為客戶”的路。在他看來,這將來在國內可能也會成為一個趨勢,因為云確實提供了一個很好的資源以及軟件分發環境。
不過云只是給了大家一把很好的錘子,如果一個人能力不強,用的時候也可能會砸到自己的腳。比如,由于用戶在云上獲得資源更加容易,可能就會比較隨意地進行數據存儲和計算,進而造成浪費。因此從業務角度,云服務商與用戶其實是一體的,云服務商在大規模開源數據體系之上,需要根據企業的需求做更多數據治理方面的工作,幫助用戶用好云這把錘子,避免資源浪費。賈揚清表示,如何更有效地使用云平臺、云資源已經成為企業越來越關注的需求,現在主要是企業級軟件在做這方面的工作,將來可能會有更多開源工具出現。
暢享未來的數據工程趨勢,賈揚清認為有三個方向是大數據從業者可以重點關注的。首先是云化,即用云來解決系統架構的問題,涵蓋了離線實時一體化、大數據 AI 一體化、流批一體化、湖倉一體化四個層面。現在不管是開源項目還是閉源產品其實都在朝著更加一體化的方向發展,Flink 社區新的子項目 TableStore 也是在這個方向上做的一個探索,追根究底是為了在一定程度上降低大數據技術棧的復雜度,未來計算引擎可能也會更多地跟數據治理、數據編排工具結合成為一體化的數據解決方案。
其次是上層數據應用會變得更加簡單,從長遠來看,對于最終用戶,所有的數據都可以使用通用的 SQL 方式進行分析。最后,將來會有更多的生態發展起來,無論是阿里云的 Flink、EMR 還是海外的 Databricks、Snowflake、Bigquery 都還只是工具平臺,在這些數據平臺之上需要有更多類似于 Saleforce 的企業來做出更豐富的垂直解決方案,最終形成更加繁榮的數據生態,當然前提是數據平臺先做好標準化。
王峰同樣很看好數據生態未來的發展,尤其對于開源大數據來說,生態更加關鍵。現在歐美很多數據領域的公司,雖然各有特色,但相互之間也能形成協同,這樣大家就會處于一個良性的競爭狀態。王峰認為,這有助于推進各廠商的產品走向標準化,能夠給用戶和客戶帶來很多好處。從整個應用市場的角度來說,形成標準化之后,各方能夠比較低成本地去接入這個數據工程生態,反過來可以一起把整個市場蛋糕做大。
身處快速發展的數據工程領域,大數據從業者如何面向未來發展?將來崗位角色、職責是否會發生變化?
賈揚清認為,系統工程師、數據工程師、數據科學家這些角色未來會繼續存在。但云已經解決了很多系統問題,所以越來越多工程師角色會開始往上層業務走。偏系統搭建的底層工作,即系統工程師角色,可能會更多聚集在提供標準化服務的云數據服務商、數據引擎服務商等,其他企業則會更加關注業務本身,把人力更多投入在偏數據科學以及上層業務里,不再需要那么多系統工程師。這是社會分工精細化的必然結果。
對于數據科學家、數據工程師,他們的職責會更多地偏重于利用數據實現業務價值,包括根據業務需求做數據建模、數據治理等工作,不用再像以前一樣去解底層系統和運維等問題,因為這些問題已經被系統工程師、被云解得很好了。
想了解更多大數據領域的最新前沿技術動態?好奇頭部企業正在實時計算、數據湖、數據治理等熱門方向做哪些探索和實踐?歡迎關注 Flink Forward Asia 2022,一場專屬于大數據從業者的技術盛宴!
Flink Forward Asia(簡稱 FFA) 是由 Apache 官方授權、阿里云承辦的 Apache Flink 社區官方技術大會,今年將采用線上直播方式,廣大開發者足不出戶就可以在線觀看來自阿里巴巴、字節跳動、快手、美團、華為、Shopee、運滿滿、米哈游、蔚來汽車、集度汽車、菜鳥、網易等全球 40+ 行業一線廠商,圍繞 Flink 核心技術、行業實踐、平臺建設、實時風控、實時湖倉、數據集成等多個時下熱門方向的技術創新和實踐分享。