Databricks

Convert proprietary code to open ANSI SQL with Genie Code

8.5内容质量

TL;DR · AI 摘要

Databricks的Genie Code Beta版通过AI代理将T-SQL等专有SQL转换为ANSI SQL,简化数据仓库迁移流程。

核心要点

  • Genie Code支持T-SQL、Snowflake等6种数据库转换为ANSI SQL
  • 迁移项目可跟踪进度、可视化血缘关系并识别依赖对象
  • 复杂度评分帮助团队优先处理低复杂度文件

结构提纲

按章节快速跳转。

  1. 介绍Genie Code Beta版将专有SQL转换为ANSI SQL的核心功能

  2. 通过迁移项目管理源文件、跟踪进度并生成血缘关系图

  3. 使用并行代理迭代转换代码并验证语法和语义

  4. 通过复杂度评分和依赖分析优化迁移顺序

思维导图

用一张图看清主题之间的关系。

查看大纲文本(无障碍 / 无 JS 友好)
  • Genie Code转换专有SQL
    • 支持数据库
      • T-SQL
      • Snowflake
      • Redshift
    • 迁移流程
      • 创建迁移项目
      • 复杂度分析
      • 血缘映射

金句 / Highlights

值得收藏与分享的关键句。

#Genie Code#ANSI SQL#数据迁移#Databricks
打开原文

使用 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"