メインコンテンツまでスキップ

エージェントコードコンバーターでSQLを変換

備考

ベータ版

この機能はベータ版です。それを使用するには、ワークスペース管理者が プレビュー ページから agentic code converter を有効にする必要があります。Databricksのプレビューを管理するを参照してください。

The agentic code converter uses Genie Code to convert existing SQL from dialects such as T-SQL, Snowflake, Redshift, Oracle, BigQuery, and Teradata to ANSI SQL that runs on Databricks. You organize your work in a migration project, where the converter analyzes each source script, validates the converted output, and iteratively fixes errors before writing the results to a workspace folder.

エージェントコードコンバーターは、既存のデータウェアハウスおよびETLツールからDatabricksへのワークロードを移行するためのDatabricksツーリングの一部です。移行プロジェクトで作業を整理および追跡しながら、ソースSQLを変換します。

仕組み

You start a conversion by creating a migration project in your workspace. The project tracks the state of each file and gives you a single place to manage the migration.

変換ワークフローの図:ソースファイルが移行プロジェクトに追加され、Genie Codeのサブエージェントがそれらを変換し、検証済みのANSI SQLがワークスペースフォルダーに書き込まれます。

変換を実行すると、Genie Code は移行スキルを呼び出し、ファイルを並行して変換するサブエージェントをデプロイします。各サブエージェントはソース方言を分析し、ANSI SQL 相当を生成し、結果を検証し、失敗したセクションを再試行します。変換されたファイルは、プロジェクトで指定したワークスペース フォルダに直接書き込まれます。

また、Genie Codeの会話で/migrateコマンドを使用すると、プロジェクトなしで単一のファイルまたはフォルダーを変換できます。

要件

  • A workspace enabled for the agentic code converter Beta. A workspace admin enables the feature from the Previews page. See Manage Databricks previews.
  • 既存のSQLファイルは、ワークスペースでアクセス可能である必要があります。ワークスペースファイルとしてuploadされているか、エディターで開かれている必要があります。
  • ワークスペースはGenie Codeの要件を満たす必要があります。See Genie Code.

サポートされているソースと制限事項

コンバーターは次のソースのダイアレクトをサポートします。

  • T-SQL
  • Snowflake SQL
  • Redshift SQL
  • Oracle
  • BigQuery
  • テラデータ

The converter targets ANSI SQL. The following limits apply to each conversion:

  • バッチには最大300個のファイルを含めることができます。
  • スクリプトは最大1,000行含めることができます。
  • Teradata BTEQ scripts are not yet supported.

既存のSQLコードを変換

移行プロジェクトで既存のSQLを変換する方法を次のステップで説明します。

ステップ1: ソースファイルのupload。

既存のSQLファイル(.sql)をワークスペースファイルブラウザを使用してuploadするか、Databricks CLIを使用してスクリプトのディレクトリを一括uploadします。

ステップ2:マイグレーションプロジェクトを作成します。

ワークスペースから移行プロジェクトを作成します:

  1. 新しいアイコン> **[マイグレーションプロジェクト]** をクリックします。
  2. Enter a Name for the project.
  3. Use the drop-down selectors to choose a Source dialect and a Target framework .
  4. ターゲットの 宛先フォルダ へのファイルパスを入力します。 参照 をクリックして、利用可能なワークスペースフォルダのリストから宛先を選択します。
  5. (オプション)プロジェクトのリネージを記述する リネージファイル へのパスを入力します。 参照 をクリックして、ワークスペース内のファイルリストからファイルを選択します。
  6. 作成 をクリックします。

「新規移行プロジェクト」ダイアログには、「プロジェクト名」、「ソースダイアレクト」、「ターゲットフレームワーク」、および「宛先フォルダ」フィールドが表示されます。

ステップ 3: プロジェクトにファイルを追加します

In the new project:

  1. Click Add files > + Add files .
  2. Select the source folder or a file from your workspace.

The project lists each file with its file type, line count, and conversion status.

追加されたソースファイルのファイルタイプ、行数、変換ステータスを表示する移行プロジェクト キャンバス。

ステップ 4: コードの複雑さとリネージを確認する (オプション)

Lakebridge Analyzerを実行した場合は、そのJSON出力をプロジェクトにuploadして、コードの複雑さとリネージを確認してください。ソースファイルをクリックして複雑性評価を開き、**リネージ**をクリックして、一緒に移行する必要がある相互依存ファイルとテーブルを示す依存関係グラフを開きます。Analyzerの実行方法については、Lakebridge Analyzerガイドを参照してください。

ステップ 5: 変換を実行する

変換するファイルを選択し、**ラン**をクリックします。Genie Code は会話を開き、移行スキルを呼び出し、サブエージェントをデプロイしてファイルを同時に変換します。変換された各ファイルは、プロジェクト内にリンクされたファイルとして表示されます。コンバーターは各ファイルに次のステータスを付けます。

  • グリーン : 正常に変換されました
  • 黄色 :要レビュー
  • **赤**: 変換に失敗しました。
  • 灰色 : 進行中

ステップ6: 変換結果のレビュー。

Click a converted file to open a side-by-side diff in the SQL editor, with the source code next to the proposed Databricks SQL. Accept all suggested changes, or review and accept individual edits. For scripts that fail to convert, edit the code in the editor or ask Genie Code to re-validate or retry specific sections. After you are satisfied, run the converted SQL in a notebook or the SQL editor to confirm that it runs on Databricks.

カスタムスキルを作成 (オプション)

カスタムスキルを使用すると、Genie Codeがすべての変換中に自動的に適用するビジネスルールをエンコードできます。これらを使用して、独自のデータ型を処理したり、推奨されるターゲットパターンを適用したり、繰り返し行う修正を記録したりできます。移行スキルは Genie Code スキルであるため、他のスキルと同じように作成および管理できます。詳細については、「Genie Code をエージェントスキルで拡張する」を参照してください。

You can create a skill from the Genie Code settings or from a Genie Code conversation. Use the settings path for complex skills that include detailed instructions, examples, or supporting files. Use the chat path for quick, single-rule skills.

詳細な手順を作成し、Gitフォルダーでバージョン管理できるように、スキルをファイルとして作成します。

  1. Genie Codeパネルで、歯車アイコン。 設定 をクリックし、次にアイコン内の矢印。 スキルフォルダーを開く をクリックします。

  2. ワークスペースのスキルパス Workspace/.assistant/skills/ の下に、スキル用のフォルダーを作成します。たとえば、Workspace/.assistant/skills/sql-migration/

  3. スキルフォルダーに、必要なフロントマターと変換ルールを使用してSKILL.mdファイルを作成します。例えば:

    ---
    name: sql-migration
    description: Conversion rules to apply when migrating legacy SQL to ANSI SQL.
    ---

    Always convert the custom type MYDATE to TIMESTAMP_NTZ.

Genie Code picks up the skill the next time you run a conversion.

ワークスペーススキルはワークスペースレベルで保存され、ワークスペース内のすべてのユーザーで共有されます。

テストのヒント

As part of its agentic loop, the converter analyzes each source script, validates that the converted output is syntactically valid and semantically equivalent to the source, and iteratively fixes sections that fail before writing the results. The following tips help you review and gain confidence in the output:

  • バッチ変換 :マルチファイル変換がエンドツーエンドで機能することを確認するために、2~5個の少量のファイルを1つのセッションで変換します。
  • Syntax validation : After conversion, run the output in a Databricks SQL editor or notebook to confirm that it runs without errors.
  • エッジ ケース :T-SQL のウィンドウ関数、Snowflake QUALIFY、または Redshift LISTAGG など、方言固有の構文を含むスクリプトを含めて、コンバーターが複雑なパターンをどのように処理するかを確認します。
  • セマンティックの正確性 : 元のクエリーと変換されたクエリーを同等のテストデータに対してランし、結果を比較します。出力が構文的に有効であるだけでなく、意味的に正しいことを確認します。

その他のリソース