Convert proprietary code to open ANSI SQL with Genie Code
TL;DR · AI 摘要
Databricks的Genie Code Beta版通过AI代理将T-SQL等专有SQL转换为ANSI SQL,简化数据仓库迁移流程。
核心要点
- Genie Code支持T-SQL、Snowflake等6种数据库转换为ANSI SQL
- 迁移项目可跟踪进度、可视化血缘关系并识别依赖对象
- 复杂度评分帮助团队优先处理低复杂度文件
结构提纲
按章节快速跳转。
- §引言
介绍Genie Code Beta版将专有SQL转换为ANSI SQL的核心功能
通过迁移项目管理源文件、跟踪进度并生成血缘关系图
使用并行代理迭代转换代码并验证语法和语义
通过复杂度评分和依赖分析优化迁移顺序
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- Genie Code转换专有SQL
- 支持数据库
- T-SQL
- Snowflake
- Redshift
- 迁移流程
- 创建迁移项目
- 复杂度分析
- 血缘映射
金句 / Highlights
值得收藏与分享的关键句。
Genie Code通过并行代理迭代转换代码,验证语法和语义意图
迁移项目可跟踪进度、可视化血缘、识别需同步迁移的对象
复杂度评分帮助团队优先处理低复杂度文件,提升迁移效率
使用 Genie Code 将专有代码转换为开放 ANSI SQL | Databricks 博客
跳至主要内容
产品
2026年7月30日
使用 Genie Code 将专有代码转换为开放 ANSI SQL
现在进入 Beta 阶段的智能转换器利用 Genie Code 将 T-SQL、Snowflake、Redshift、Oracle、BigQuery 和 Teradata 转换为开放 ANSI SQL
作者:Jonathan Brito
摘要
- 现在进入 Beta 阶段的智能代码转换器使用 Genie Code 将专有 SQL 转换为开放 ANSI SQL,通过并行代理集群迭代转换代码,验证语法和语义意图
- 在 Databricks 工作区创建迁移项目以跟踪进度、可视化血缘关系并识别需要一起迁移的对象
- 支持 T-SQL、Snowflake、Redshift、Oracle、BigQuery 和 Teradata 的 SQL 到 SQL 转换
从遗留数据仓库迁移是一项复杂的任务,需要团队分析几十年前的代码,翻译专有方言,迁移海量数据集,并协调系统之间的差异。Databricks 通过 Genie Code(Databricks 的 AI 编码代理)显著简化了从遗留数据仓库向 Lakehouse 迁移工作负载的过程。
我们很高兴宣布 Genie Code 中新增的智能转换器。该智能代码转换器将专有方言转换为开放 ANSI SQL,首批支持 T-SQL、Snowflake、Redshift、Oracle、BigQuery 和 Teradata。它将数据仓库迁移从需要团队人工管理和协调的项目,转变为只需配置、启动和监控的自动化流程。
自动化迁移规划
为了展示智能转换器的实际工作方式,我们将通过一个概念验证示例,演示如何将一组 T-SQL 存储过程转换为 ANSI SQL。
要启动迁移,我们首先在 Databricks 工作区创建一个迁移项目,这是工作区的新功能。迁移项目为团队提供了一个集中管理源文件、跟踪转换进度并在整个迁移过程中协作的枢纽。我们为项目命名 "Migration Project - POC",设置源方言为 T-SQL,目标为 ANSI SQL,并选择转换文件的存储目录。创建完成后,我们可以将源 SQL 文件添加到项目中,这些文件之前已上传到工作区。每个文件在项目中都会显示其文件类型、代码行数和迁移状态:
Genie Code 会分析并评估每个文件的复杂度,在右侧面板显示评估结果。在我们的示例中,mixed_5cats_sp_string_agg.sql 因仅包含可清晰映射到 ANSI SQL 的 SQL 特性而获得低复杂度评分。对于大规模迁移,团队可以利用复杂度评分优先处理简单文件。
Genie Code 还会生成血缘关系图,映射遗留系统中所有对象(表、视图和存储过程)之间的关系。血缘图显示 sps_sp_update_from.sql 和 sps_sp_pivot.sql 没有共享依赖项,这意味着它们可以独立安全地迁移。
在大规模迁移中,复杂度分析和血缘关系为团队提供了清晰的迁移路线图,明确迁移顺序以及需要一起迁移的对象。
完全自动化的代码转换
分析源代码后,我们可以开始转换代码。点击 "运行" 时,Genie Code 会分析每个脚本的 T-SQL,并启动子代理集群并行转换文件。每个子代理会迭代修复错误,同时验证语法和语义意图,确保转换后的代码保留原始业务逻辑并能成功解析。
转换完成后,生成的文件将写入目标文件夹,并按状态进行颜色编码。在我们的概念验证中,8个文件中有6个成功转换。然而,mixed_5cats_sp_string_agg.sql 和 mixed_6cats_sp_string_agg.sql 需要进一步审查。查看右侧面板,我们可以看到修复脚本所需的待办事项列表。Genie Code 解释说,标记的存储过程在 Unity Catalog 中必须使用三部分名称(catalog.schema.sp_string_agg)进行限定。
通过点击文件,我们可以打开原生 SQL 编辑器查看并排差异。我们可以在编辑器中手动修复问题,或通过在 Genie Code 中创建自定义技能来制定转换规则。当准备执行完整迁移时,Genie Code 将自动在整个代码库中应用该规则(在此案例中,为 Unity Catalog 中的存储过程添加三部分名称)。自定义技能还可用于更广泛的定制需求,例如符合批准的 ETL 模式或遵循内部命名规范。
对于希望进行 lift-and-shift 的团队,Databricks 提供了完整的面向企业级的 SQL 功能套件。多语句事务、临时表和存储过程——这些在传统数据仓库中常用的特性——在 Databricks 中均可使用,因此无需重新设计逻辑以适配新平台。
今天立即体验智能转换器
智能代码转换器是下一代数据仓库迁移工具,基于 Lakebridge 在大规模场景下的成功经验。自 2025 年数据与人工智能峰会发布以来,Lakebridge 的转换工具已帮助超过一千名客户采用 Databricks 湖仓一体架构:
“Lakebridge 使我们迁移到 Databricks 的过程更加可预测且高效。它成功将我们的遗留存储过程转换为 Spark 声明式流水线,大幅减少了人工工作量,帮助我们更快地向统一的开放湖仓一体架构迈进。” ——Shane Irons,信息管理高级总监
下一步,我们将扩展智能转换器以支持常见的遗留 ETL 数据源和新的目标方言。我们还计划将数据迁移和数据核对纳入迁移项目体验,通过原生的 Lakeflow Connect 集成实现数据迁移,并提供自动化工具验证迁移后的数据在切换前与源数据一致。
准备迁移了吗?与您的 Databricks 账户团队联系,评估您的遗留系统并在此处试用智能代码转换器。
订阅博客获取最新动态
订阅我们的博客,获取最新文章直接发送到您的邮箱。
注册
查看所有博客
slice-start id="_gatsby-scripts-1"
slice-end id="_gatsby-scripts-1"