開源80萬行代碼,微衆銀行如何在小團隊規模下煉出一套一站式大數據平臺 | 卓越技術團隊訪談錄

{"type":"doc","content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"國家 2035 遠景規劃提出要加快全面數字化轉型的步伐,而“大數據平臺”是數字化轉型的基礎技術之一。經過六年多的探索和實踐,微衆銀行打造了一套在金融領域“自主可控”的開源大數據平臺。對於任何企業來說,建立和維護一個大數據平臺都不是一件容易的事情,而建設一個有特色的、完整易用的大數據平臺,顯然更是一件技術難度極高的事情。InfoQ 採訪了微衆銀行 WeDataSphere 主創團隊,希望他們的實踐經驗能給大家帶來一些啓發和思考。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"構建大數據平臺要量體裁衣"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"對比互聯網企業,由於監管要求和業務的特殊性,金融機構對數據平臺的可用性、安全性要求極高。而當金融與互聯網相結合之後,互聯網銀行 IT 架構面對着數字時代的大數據洪峯。用戶對於各種類型的數據,在不同業務場景下的開發應用管理需求也在急劇膨脹。這讓國內第一家互聯網銀行,走上了自研“自主可控”大數據平臺的道路。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在開業之後的 7 年時間內,微衆銀行在引入優秀開源大數據組件的基礎上,自主研發、反覆迭代,形成了一個功能完備豐富並經過金融場景考驗的大數據平臺套件-- WeDataSphere。2016 年至今,這套數據平臺套件從底層的基礎引擎引入開始,逐步完成上層功能工具的構建,及中間層中間件的連通集成和治理管控。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/c7\/c7f1a375a0e202ef5bf2c3c28f14c864.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#1c7892","name":"user"}}],"text":"WeDataSphere 全景圖,帶藍色 S 球的組件已開源"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"WeDataSphere 是一套一站式、金融級、全連通、開源開放的大數據平臺套件,主要模塊從前到後,形成一個“424”陣型:"}]},{"type":"bulletedlist","content":[{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"前場,是數據分析、數據治理、機器學習和運營管理 4 大功能工具;面向用戶,提供完整的數據開發應用管理工具集。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"中場,是計算和元數據 2 大中間件;承上啓下,提供連通、管控、擴展、複用等能力。"}]}]},{"type":"listitem","attrs":{"listStyle":null},"content":[{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"後場,是批量計算、交互式計算、流式計算和複雜計算 4 大基礎計算存儲模塊。提供面向各場景的基礎計算存儲能力。"}]}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"微衆銀行通過構建 WeDataSphere,逐步替換了原有的 SAS 平臺,支持行內監管報送、核心批量、客戶信息管理、實時營銷、反洗錢等大量核心關鍵金融業務場景,達到數據量 40PB+、批量計算 Job 日均 80 萬+的處理規模。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"當今時代,很多企業都同樣有着構建這樣一套大數據平臺的需求:通過大數據平臺,將組織內部的數據進行打通、串聯和整合,去服務組織複雜的業務目標和場景。但構建一套數據平臺不是一件容易的事情,需要從功能性和非功能性等方方面面,考慮如何解決不同場景的數據開發應用管理問題。中間涉及到數據交換、計算存儲、加工處理、可視化等數據分析相關,模型訓練、檢驗、發佈等機器學習相關,數據標準、質量、權限等數據治理相關,平臺監控、配置、容量等運營管理相關等等各個環節。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"WeDataSphere 團隊發展到現在總共只有30多號人,但負責了 40 多個數據平臺組件產品的開發,和微衆銀行超 200 套各類大數據集羣環境的運維管理,同時還要做開源。在團隊規模資源有限的條件下,要想做出特色和優勢,WeDataSphere 大數據平臺負責人邸帥總結了三個經驗:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"第一,要有產品化的思維。不要一下掉到技術實現層面裏去,或者侷限於系統當前的架構\/實現情況。多跳出來,想想需求和問題到底是什麼,目標用戶羣體是誰,別人是怎麼做的,美好的未來可以是怎麼樣的。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"第二,要能量體裁衣。從數據管理、數據平臺、數據應用三個層面摸清自身現狀,然後可基於如WeDataSphere 這樣的一站式開源解決方案,及其他優秀開源\/商業化產品提供的“布料”來量身定做。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"第三,須從產品架構設計,和開放共建模式上進一步優化。借用微衆銀行副行長兼首席信息官馬智濤先生的一句話就是“小刀鋸大樹,必須靠方法。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"邸帥表示“每個組織的數據平臺建設都應該要量體裁衣,且會是個長時間的持續 PDCA,螺旋上升的過程。好比你現階段可能需要的就是一輛成本可控客貨兼運的皮卡,那就不要把資源投入到如何去做一輛炫酷的敞篷跑車。先較全景地搞清現階段所處的組織環境、所擁有的資源,和‘真正’的用戶需求,然後真誠面對這些需求,因地制宜因時制宜地給出方案,合理劃分階段推動落地。其實就是要能真正做到所謂以‘用戶’爲中心。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"我們團隊選擇的模式是主力投入到偏上層的功能工具系統和中間件的建設和開發,更多關注面向用戶的數據平臺服務化能力的提供,並在中間件層實現上下層之間南北東西向的連通融合。對底層引擎更多是打補丁、修 bug,及有限場景的針對性優化,而在中間件層去補充完善底層引擎所缺失的管控、編排等能力。避免對底層引擎代碼修改過多,造成與社區版本差異過大、維護成本過高。在基礎計算存儲能力方面,開源生態蓬勃發展,各種底層引擎已經能夠滿足大部分公司的需要。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"同時數據平臺的功能\/組件日益複雜是大勢所趨,用戶對數據平臺一站式體驗的要求是衆望所歸。我們通過在產品架構上設計數據平臺中間件層,實現更爲極致的解耦、可擴展和複用。同時通過開源開放的模式,團結一切可以團結的力量,互通有無各取所長,去協作打造這麼一套龐雜的、一站式的 WeDataSphere 數據平臺套件。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"解耦複用,大數據平臺需要一箇中間件層"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"隨着大數據技術的普及和深入發展,越來越多樣化的用戶場景需求,催生出了非常多上層應用工具和底層計算存儲引擎。在當前的大數據平臺架構體系下,我們會發現從上層應用工具,到底層的各個引擎,還是各自爲政,Server-Client 模式緊耦合滿天飛。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在大量的上層應用工具和大量的底層引擎之間,缺乏一層通用的“中間件”框架設計,導致整個大數據平臺變成下圖的複雜網狀架構:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/a4\/a444a18aae253b220c5b1df5aaba66ae.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#1c7892","name":"user"}}],"text":"大量的上層應用和底層引擎之間,缺乏一層通用的“中間件”設計"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"由於缺乏一層通用的中間件層框架設計,使得連通、擴展、管控、編排、複用等“計算治理” 問題凸顯。例如:從“連接”問題來看,大數據底層計算存儲引擎繁多,各個上層應用工具需要各自維護底層引擎的 Lib 依賴、運行時環境等信息,導致部署運維工作極其繁重,底層引擎任何變動都會影響上層應用的可用性和可維護性;再從“擴展”問題來看,比如某個上層應用之前使用 Hive,後面覺得 Hive計算太慢現在想用 Spark,用了 Spark 後還是覺得太慢想用 Presto,Presto 太慢又想用 ClickHouse,這時這個上層應用工具需要分別去擴展對接這些引擎,這無疑會帶來非常巨大的開發成本。再來看“複用”問題,每個上層應用都要重複集成和管理各種底層引擎的 client的連接及其狀態,特別是在併發使用用戶逐漸變多、併發計算任務量逐漸變大時,每個上層應用還要重複解決多個用戶間在 client 端的資源爭用、權限隔離,計算任務的超時管理、失敗重試等等計算治理問題,造成的開發人力浪費不可小覷。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#4d4d4d","name":"user"}}],"text":"除了上述的架構層面問題,要想讓複雜分佈式架構環境下,各種類型的計算任務都能更簡潔、靈活、有序、可控地提交執行併成功返回結果,計算治理還需關注高併發、高可用、多租戶隔離、資源管控、安全增強、計算策略等細化特性問題。這裏就不一一展開論述了。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/af\/afd6fe1f3e0c6e8aeedda8c71ca3039c.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":"center","origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#1c7892","name":"user"}}],"text":"Apache Linkis 計算中間件解決數據平臺連通、擴展、管控、複用等問題"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在這樣的背景下,計算中間件Apache Linkis(incubating)應運而生,它是微衆銀行專門設計用來解決上述緊耦合、重複造輪子、擴展難、應用孤島等計算治理問題的。當前主要解決的是複雜分佈式架構的典型場景-數據平臺環境下的計算治理問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Apache Linkis(incubating) 在上層應用和底層引擎之間構建了一層計算中間件。通過使用 Linkis 提供的 REST\/WebSocket\/JDBC 等標準接口,上層應用可以方便地連接訪問 Spark、Presto、Flink 等底層引擎,同時實現跨引擎上下文共享、統一的計算任務和引擎治理與編排能力。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Apache Linkis(incubating) PPMC 尹強表示,計算中間件雖然是 2019 年在 Linkis 正式對外開源時,由 WeDataSphere 大數據平臺負責人邸帥首次提出,但是社區其實自 2015 年開始,就有相關的開源項目聚焦於解決計算治理層的問題。比如 Apache Livy,它是一個簡化用戶與 Spark 集羣交互的 REST 服務,通過 Job 或代碼片段,簡化了上層應用工具的 Spark 作業提交,是首個解決了“連接”問題的計算中間件;而 Apache Zeppelin,支持 SQL、Scala、Python、R 等多種腳本語言,基於 Web 的交互式數據分析 Notebook,設計了獨有的 Interpretor 架構,可快速對接底層新的大數據引擎,是第一個解決了“擴展”問題的開源項目。由於這些開源項目大多都是聚焦於解決計算中間件的一個問題,而大數據平臺架構的複雜性,呼喚既具備擴展又具備管控,還具有編排、連通、複用能力的中間件。因此,Linkis 借鑑了各家之長,“是一款站在巨人肩膀上的開源工具,可以極大簡化大數據平臺的架構,降低開發和運維的複雜度。”"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"2021 年 Linkis 順利進入 Apache 軟件基金會孵化器,並榮獲 2021 OSCAR 開源產業大會“OSCAR 尖峯開源項目和開源社區”獎項。接下來,團隊將繼續優化 Apache Linkis(incubating) 部署使用體驗,完善和規範項目協同開發流程,豐富產品功能,如統一數據源管理,對接 DataX、OpenLookeng 等全新引擎。並與更多的頂級開源社區,如DolphinScheduler、OpenLookeng 等建立更緊密聯繫,推動社區進一步發展壯大。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"用好開源,回報開源"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"如何用好開源?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"隨着大數據技術的廣泛應用,如今數據應用的開發,已遠遠不再是加工和生產幾個報表了。業務與數據如何快速實現互動,數據如何快速且高效地生成報告,協助商業決策,幾乎是所有企業的核心訴求。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"大數據開源組件越來越龐雜,使得數據平臺架構愈發蓬勃,不斷推陳出新,駕馭開源數據平臺的難度也是與日俱增。比如:數據應用工具多,沒有統一的用戶入口,用戶體驗割裂感強;業務流程涉及多個系統相互協作,用戶需頻繁切換系統纔可實現業務;很多數據應用系統邊界不清晰,功能重疊不僅極大浪費人力,系統間也難以協同互通,用戶更是需要花時間反覆調研比較,才能最終敲定方案。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"如何基於開源項目構建包含數據分析、數據治理、機器學習和大數據中間件的完整企業級大數據平臺?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在數據分析領域,社區有很多開源的數據交換工具,例如 Exchangis、DataX、DataX Web 和 Dbus等;在數據開發探索分析工具上,有 Scriptis 、Apache Zeppelin 和 Hue等;數據可視化工具上,有Visualis、Davinci 和 Superset 等;開源調度工具有 Schedulis、DolphinScheduler 和 Airflow 等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在數據治理領域,開源的數據質量校驗工具有 Qualitis、pydqc、Deequ 和 GriFFin 等;元數據管理工具有 DataHub、Apache Atlas 等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"在機器學習領域,有 Prophecis、Kubeflow、MLFlow 和天樞人工智能開源平臺等。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"進行開源產品選型,WeDataSphere 團隊主要基於兩個維度:一是技術特性。從技術的設計看是否滿足場景需求,是否有完善的運維體系,系統是否足夠成熟;是不是經過了企業內部的權威驗證,測試是否完善,是不是第一個喫螃蟹、去踩坑的人。二是引入開源組件到內部的時間成本與人力成本,能給產品配置什麼樣的開發或維護人力成本;社區是否足夠開放,是否能協同。需要做些取捨,從而選擇合適的開源產品。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"然而這也並不意味着用戶只需要依照開源產品選型的方法從上面的這些開源工具中選擇合適的幾個組件就可以。對一個數據分析師來說,通過東拼西湊搭建起來的一套大數據平臺,由於缺乏一套通用的協議去定義一套開發管理規範,使得上層各個應用工具的工程管理體系不統一、用戶權限不統一、UI 不統一;另一個則是應用孤島問題,資源物料不互通,運行時上下文不互通,使得用戶必須頻繁在多個上層工具中上傳各種用戶物料和資源文件;再就是各個上層應用工具互相隔離,使得用戶需要頻繁切換多個系統才能完成一個數據應用的開發調試,極大的降低了數據應用開發迭代的效率。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"爲解決這個痛點,WeDataSphere 團隊開發了數據應用開發管理集成框架 DataSphere Studio。DataSphere Studio將這些數據工具統一了起來,基於 AppConn 插拔式的集成框架設計,在統一的UI下,以工作流式的圖形化拖拽開發體驗,將滿足從數據交換、脫敏清洗、分析挖掘、質量檢測、可視化展現、定時調度到數據輸出應用等,數據應用開發全流程場景需求。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"AppConn,定義了一套統一的前後臺接入協議,總共分爲三級規範,可讓外部數據應用系統快速簡單地接入,成爲 DSS 數據應用開發中的一環,是 DSS可以簡單快速集成各種上層Web系統的核心概念。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"image","attrs":{"src":"https:\/\/static001.geekbang.org\/infoq\/67\/67b81ef41124a1a7db394b5672aff1b5.png","alt":null,"title":null,"style":[{"key":"width","value":"75%"},{"key":"bordertype","value":"none"}],"href":null,"fromPaste":true,"pastePass":true}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null}},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"目前 DataSphere Studio 已集成了豐富多樣的各種上層數據應用系統,如數據開發 IDE 工具——"},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/Scriptis","title":null,"type":null},"content":[{"type":"text","text":"Scriptis"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"、數據可視化工具——"},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/Visualis","title":null,"type":null},"content":[{"type":"text","text":"Visualis"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"、數據質量管理工具——"},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/Qualitis","title":null,"type":null},"content":[{"type":"text","text":"Qualitis"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"、工作流調度工具——"},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/Schedulis","title":null,"type":null},"content":[{"type":"text","text":"Schedulis"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"、數據Api服務——"},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/DataSphereStudio-Doc\/blob\/main\/zh_CN\/%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3\/DataApiService%E4%BD%BF%E7%94%A8%E6%96%87%E6%A1%A3.md","title":null,"type":null},"content":[{"type":"text","text":"DataApiService"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"、流式應用開發管理工具——"},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/Streamis","title":null,"type":null},"content":[{"type":"text","text":"Streamis"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"(即將開源),基本可滿足用戶的數據開發需求,是各企業構建一站式大數據平臺套件的不二利器。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":4},"content":[{"type":"text","text":"如何回報開源?"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"WeDataSphere 一站式大數據平臺套件自研的各種組件正在逐步開源中。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"WeDataSphere 團隊致力於通過在整體設計上開放靈活,對擴展友好組件可插拔;形式上以開源開放的方式,吸引更多個人、組織,參與到 WDS 的開發建設和推廣應用中來,在爲大數據平臺開源生態繼續做出貢獻的同時,聯合社區各家實力強勁的大數據平臺團隊,協作共建先進的大數據平臺套件。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"所以,2019 年開始,微衆銀行開源了計算中間件Linkis、數據應用開發管理集成框架 DataSphere Studio,以及WeDataSphere 的其它 8 個組件,總代碼量超過 80 萬行。社區用戶方面,涉及金融、電信、互聯網、製造等多個行業,WeDataSphere 社區開發者超過了110位,社區代碼貢獻量超過 15 萬行。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"開源兩年以來,微衆銀行還與社區一起開發共建了流式應用開發管理工具 Streamis、數據交換工具 Exchangis1.0 和 數據模型中心 DataModelCenter。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"其中,Streamis 是微衆銀行 WeDataSphere 大數據團隊聯合天翼雲、仙翁科技、薩摩耶雲等企業開發共建的流式應用開發管理工具。整個項目由微衆銀行 WeDataSphere 大數據團隊負責項目的整體協調和把控,天翼雲大數據團隊負責 StreamJobManager 前端的開發,仙翁科技負責Stream JobManager 後端的開發,薩摩耶雲則負責 StreamDataSource 模塊的前後臺開發。項目協同上,大家使用 GitHub 私有項目的形式進行代碼管理,每週通過騰訊會議開一次周例會同步進度,共同解決開發測試過程中遇到的問題。比如,在開發 streamis-datasource-transfer 模塊對接 Linkis DataSource時,由於缺少 Linkis DataSource 模塊,阻塞了 Streamis 的開發測試進展,後經微衆銀行 WeDataSphere 大數據團隊與天翼雲大數據團隊多次線上溝通協商、共同推進,解決了 Streamis 依賴 Linkis DataSource 模塊的問題。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"對於未來發展,邸帥表示WeDataSphere團隊將繼續踐行“Community Over Code”的“The Apache Way”開源文化主旨,打造一個更加協作、開放、多元的社區文化,持續降低社區用戶的參與門檻,聯合更多的組織和個人一起構建先進的大數據平臺套件和世界級的大數據中間件開源項目。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"heading","attrs":{"align":null,"level":2},"content":[{"type":"text","text":"寫在最後"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"作爲企業數字化轉型的核心,大數據平臺的構建是一個長期的戰略性工作,涉及到技術選型、業務模型、團隊建設、管理協作等多方面的事情,對於任何公司、任何團隊來說,都是不小的挑戰。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"WeDataSphere 的建設已經持續了 5 年的時間,發展過程中也經歷了很多挑戰,他們的實踐經驗告訴我們,建設一個成功的大數據平臺,必須不斷地投入資源和精力,不斷重複量體裁衣、完善和優化的過程,最終才能慢慢形成良性的循環,並從中取得比較好的收益和效果。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"嘉賓簡介:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"邸帥"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",微衆銀行大數據平臺負責人,WeDataSphere 社區主理人,Apache Linkis PPMC。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}},{"type":"strong"}],"text":"尹強"},{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":",微衆銀行大數據技術專家,Apache Linkis PPMC,同時負責 WeDataSphere 中數據應用開發管理集成框架DataSphereStudio、流式應用開發管理工具Streamis 等系統的技術架構設計和開發。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"項目倉庫:"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Apache Linkis(incubating) 計算中間件 "},{"type":"link","attrs":{"href":"https:\/\/github.com\/apache\/incubator-linkis","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/github.com\/apache\/incubator-linkis"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"DataSphereStudio 一站式數據應用開發管理門戶 "},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/DataSphereStudio","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/github.com\/WeBankFinTech\/DataSphereStudio"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Qualitis 數據質量管理平臺 "},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/Qualitis","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/github.com\/WeBankFinTech\/Qualitis"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Schedulis 工作流任務調度系統 "},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/Schedulis","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/github.com\/WeBankFinTech\/Schedulis"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Exchangis 數據交換平臺 "},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/Exchangis","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/github.com\/WeBankFinTech\/Exchangis"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Prophecis 一站式機器學習平臺 "},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/Prophecis","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/github.com\/WeBankFinTech\/Prophecis"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Scriptis 交互式數據分析Web工具 "},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/Scriptis","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/github.com\/WeBankFinTech\/Scriptis"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":"Visualis 數據可視化工具 "},{"type":"link","attrs":{"href":"https:\/\/github.com\/WeBankFinTech\/Visualis","title":null,"type":null},"content":[{"type":"text","text":"https:\/\/github.com\/WeBankFinTech\/Visualis"}],"marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}]}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"color","attrs":{"color":"#494949","name":"user"}}],"text":" "}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":10}}],"text":"本文選自"},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/minibook\/bdNa3CRKlONxG13Y4Fq4","title":null,"type":null},"content":[{"type":"text","text":"《中國卓越技術團隊訪談錄》(2021 年第六季)"}],"marks":[{"type":"size","attrs":{"size":10}}]},{"type":"text","marks":[{"type":"size","attrs":{"size":10}}],"text":","},{"type":"link","attrs":{"href":"https:\/\/www.infoq.cn\/minibook\/bdNa3CRKlONxG13Y4Fq4","title":null,"type":null},"content":[{"type":"text","text":"點擊下載全部內容"}],"marks":[{"type":"size","attrs":{"size":10}}]},{"type":"text","marks":[{"type":"size","attrs":{"size":10}}],"text":",查看更多獨家專訪!本期精選了京東、微衆、網易數帆、優酷、恆生等技術團隊在技術落地、團隊建設方面的實踐經驗和心得體會。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":10}}],"text":"《中國卓越技術團隊訪談錄》是 InfoQ 打造的重磅內容產品,以各個國內優秀企業的 IT 技術團隊爲線索策劃系列採訪,希望向外界傳遞傑出技術團隊的做事方法 \/ 技術實踐,讓開發者瞭解他們的知識積累、技術演進、產品錘鍊與團隊文化等,並從中獲得有價值的見解。"}]},{"type":"paragraph","attrs":{"indent":0,"number":0,"align":null,"origin":null},"content":[{"type":"text","marks":[{"type":"size","attrs":{"size":10}}],"text":"如果你身處傳統企業經歷了完整的數字化轉型過程或者正在互聯網公司進行創新技術的研發,並希望 InfoQ 可以關注並採訪你所在的技術團隊,可以添加微信:caifangfang842852,請註明來意及公司名稱。"}]}]}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章