AI News HubLIVE
站内改写3 分钟阅读

德意志交易所如何构建生成式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相结合,团队构建了一个可重复的工作流程,将云转型中最棘手的问题之一转变为快速、可扩展的过程。