德意志交易所如何構建生成式AI工具以大規模遷移Zeppelin筆記本到Databricks
德意志交易所集團的StatistiX平臺面臨Zeppelin筆記本遷移挑戰,涉及2000+使用者和2027年截止日期。他們開發了一款Databricks應用,自動處理結構轉換並生成上下文感知的Genie提示,以AI輔助重構筆記本邏輯。每個筆記本的重新開發時間從數小時縮短至15-20分鐘。
德意志交易所集團(Deutsche Börse Group)的StatistiX平臺為集團提供約95%的清算和交易資料,支援數百名業務使用者的自助分析。多年來,該平臺依賴在Cloudera上執行的Zeppelin筆記本,並訪問HDFS和Oracle資料系統。然而,Cloudera計劃在2027年完全淘汰Zeppelin,同時分析工作負載正在向雲端遷移,Databricks被選為新的統一分析平臺。這帶來了一個巨大的遷移挑戰:超過2000名使用者和大量深度嵌入日常業務流程的筆記本需要遷移。
手動重寫所有筆記本將耗時數年,因此團隊決定在Databricks上構建一條更優的路徑。
筆記本遷移的難題在於這些Zeppelin筆記本不僅僅是簡單的指令碼。它們包含複雜的SQL和Python邏輯、自定義直譯器、Oracle和HDFS引用、視覺化、小部件以及多年來積累的排程邏輯。每個筆記本都承載著依賴它的業務團隊的機構知識。由於筆記本的多樣性,基於規則的自動重寫引擎不切實際,因為邏輯過於異構和業務特定。
這促使團隊採取更簡潔的設計思路:將結構轉換與邏輯重構分離,併為每個部分應用合適的工具。結構轉換(如將Zeppelin段落對映到Databricks單元格、翻譯直譯器語法、重新格式化後設資料)是確定性的且可自動化,而邏輯重構則不然。幸運的是,LLM在結構轉換方面表現出色。
基於這一設計原則,團隊構建了“Zeppelin到Databricks筆記本轉換器”,這是一個專為遷移工作流設計的Databricks應用。該應用處理結構轉換部分:Zeppelin段落變為Databricks單元格,直譯器對映(%python、%sql、%pyspark等)翻譯為Databricks等效項,筆記本後設資料重新格式化為有效的.ipynb JSON。原始內容被精確保留,不會在此階段重寫邏輯。
下一步是Genie。對於每個上傳的筆記本,應用自動生成包含Zeppelin環境細節的上下文感知提示,包括自定義直譯器、資料來源和配置模式。該提示為Genie提供準確重構邏輯所需的上下文。
業務使用者的工作流程簡單:將Zeppelin筆記本匯出為JSON,上傳到Databricks應用,點選轉換,下載轉換後的.ipynb檔案,在Databricks中開啟筆記本,啟動Genie並貼上生成的提示。Genie會提出澄清問題並重建筆記本。
應用前端採用shadcn UI構建,最初的原型使用Streamlit,但團隊認為shadcn提供了更專業和可擴充套件的介面。Databricks Apps的開發體驗使得快速交付成為可能,而無需搭建獨立的基礎設施。
團隊做出的一個重要設計決策是確定工具應該故意保留什麼。轉換器不會重寫SQL邏輯、Python邏輯、視覺化、小部件、Oracle和HDFS引用、排程邏輯或業務特定的自定義程式碼。所有這些內容在轉換後的筆記本中原樣保留,因為自動重寫會引入錯誤並破壞信任。這些正是各筆記本中變化最大且承載最關鍵業務邏輯的元素。它們交由Genie處理,Genie能夠解釋上下文、提出澄清問題並做出規則無法完成的判斷。
這種混合方法自動化確定性部分,並將可變部分委託給AI,從而避免了基於規則系統的脆弱性,並利用了AI的實際優勢。
透過結合結構轉換和AI輔助邏輯重構,每個筆記本的重新開發時間從數小時縮短到15-20分鐘(取決於複雜度)。對於這種規模的大規模遷移,涉及多個業務領域,這種方法將原本資源密集、耗時的任務轉變為可擴充套件、可重複的工作流程,大大縮短了時間。
速度提升還改變了工作的性質。業務使用者無需深厚的Databricks專業知識即可遷移自己的筆記本。他們只需遵循簡短步驟,獲得提示,然後讓Genie進行重構。該工具足夠易用,遷移工作不再需要專門的工程團隊。
專案中學到的幾點原則:避免過度工程化;基於規則的改寫對於異構內容不可擴充套件;上下文是好提示與優秀提示的區別;儘早讓平臺團隊參與。
目前,轉換器的初始開發已完成,團隊正在進行大規模實際測試。優先事項包括完善提示定義以提高準確性,使用來自多個業務實體和IT部門的筆記本驗證工具,並準備讓使用者上手。
更廣泛的影響令人興奮:該專案證明AI輔助遷移不是未來能力,而是現在可用的能力。透過將Databricks Apps與生成式AI相結合,團隊構建了一個可重複的工作流程,將雲轉型中最棘手的問題之一轉變為快速、可擴充套件的過程。