使用 Genie Code 将专有代码转换为开放 ANSI SQL
Databricks 推出 Genie Code 的智能代理转换器(Beta 版),将专有 SQL 方言(如 T-SQL、Snowflake 等)转换为开放的 ANSI SQL。通过并行代理迭代转换、验证语法和语义,简化数据仓库迁移。支持迁移项目管理、复杂度评分和血缘分析,并提供自定义技能自动应用转换规则。
Databricks 宣布推出 Genie Code 的智能代理转换器(Beta 版),旨在将专有 SQL 方言转换为开放的 ANSI SQL,从而大幅简化从传统数据仓库向 Lakehouse 的迁移过程。该转换器目前支持 T-SQL、Snowflake、Redshift、Oracle、BigQuery 和 Teradata 等主流方言,并将迁移项目从需要团队全程管理的复杂任务转变为可配置、启动和监控的自动化流程。
智能代理转换器的工作流程包括自动迁移规划和全代理代码转换。用户首先在 Databricks 工作区中创建迁移项目,上传源 SQL 文件。Genie Code 会分析每个文件的复杂度并生成评分,帮助团队优先处理简单文件。同时,它会自动构建血缘关系图,映射表、视图和存储过程之间的依赖关系,从而确定哪些对象需要一起迁移。例如,在概念验证中,一个名为 mixed_5cats_sp_string_agg.sql 的文件因仅包含能直接映射到 ANSI SQL 的特性而被评为低复杂度,而其他文件则可能需要更多关注。
在实际转换阶段,Genie Code 会为每个脚本启动多个子代理并行工作,迭代修复错误并验证语法和语义正确性,确保转换后的代码保留原始业务逻辑并能成功解析。转换完成后,文件按状态颜色编码,未通过的文件会显示待办事项列表。用户可以在原生 SQL 编辑器中查看并排差异,手动修复或通过创建自定义技能自动应用转换规则。例如,可以为存储过程统一添加 Unity Catalog 的三部分名称。自定义技能还适用于更广泛的定制,例如符合批准的 ETL 模式或遵循内部命名约定。
对于希望直接迁移的团队,Databricks 提供了完整的企业级 SQL 功能,包括多语句事务、临时表和存储过程,这些在传统数据仓库中常用,且无需重新设计业务逻辑即可直接使用。该转换器基于 Lakebridge 的成功经验,自 2025 年数据与 AI 峰会上推出以来,已有超过一千家客户通过 Lakebridge 的转换工具迁移到 Databricks。一位客户表示:“Lakebridge 使我们的迁移更加可预测和高效,它将我们的遗留存储过程转换为 Spark 声明式管道,减少了许多手动工作。”
未来,代理转换器将扩展支持更多传统 ETL 源和新的目标方言,并计划通过原生 Lakeflow Connect 集成数据迁移,以及提供自动验证工具确保迁移后的数据与源数据一致。团队可以联系 Databricks 账户团队评估遗留环境并尝试代理转换器。