エージェントコードコンバーターでSQLを変換
ベータ版
この機能はベータ版です。それを使用するには、ワークスペース管理者が プレビュー ページから agentic code converter を有効にする必要があります。Databricksのプレビューを管理するを参照してください。
エージェント型コードコンバーターはGenie Codeを使用して、T-SQL、Snowflake、Redshift、Oracle、BigQuery、Teradataなどのダイアレクトから既存のSQLをDatabricksで実行されるANSI SQLに変換します。マイグレーションプロジェクトで作業を整理します。そこでは、コンバーターが各ソーススクリプトを分析し、変換された出力を検証し、結果をワークスペースフォルダーに書き込む前にエラーを繰り返し修正します。
エージェントコードコンバーターは、既存のデータウェアハウスおよびETLツールからDatabricksへのワークロードを移行するためのDatabricksツーリングの一部です。移行プロジェクトで作業を整理および追跡しながら、ソースSQLを変換します。
仕組み
ワークスペースに移行プロジェクトを作成することで、変換を開始します。このプロジェクトは各ファイルの状態を追跡し、移行を管理するための単一の場所を提供します。

変換を実行すると、Genie Code は移行スキルを呼び出し、ファイルを並行して変換するサブエージェントをデプロイします。各サブエージェントはソース方言を分析し、ANSI SQL 相当を生成し、結果を検証し、失敗したセクションを再試行します。変換されたファイルは、プロジェクトで指定したワークスペース フォルダに直接書き込まれます。
また、Genie Codeの会話で/migrateコマンドを使用すると、プロジェクトなしで単一のファイルまたはフォルダーを変換できます。
要件
- エージェントコード変換ベータ版が有効なワークスペース。ワークスペース管理者は、**プレビュー**ページからこの機能を有効にします。Databricks プレビューの管理を参照してください。
- 既存のSQLファイルは、ワークスペースでアクセス可能である必要があります。ワークスペースファイルとしてuploadされているか、エディターで開かれている必要があります。
- ワークスペースはGenie Codeの要件を満たす必要があります。See Genie Code.
サポートされているソースと制限事項
コンバーターは次のソースのダイアレクトをサポートします。
- T-SQL
- Snowflake SQL
- Redshift SQL
- Oracle
- BigQuery
- テラデータ
コンバーターは ANSI SQL を対象としています。各変換には次の制限が適用されます:
- バッチには最大300個のファイルを含めることができます。
- スクリプトは最大1,000行含めることができます。
- Teradata BTEQスクリプトはまだサポートされていません。
既存のSQLコードを変換
移行プロジェクトで既存のSQLを変換する方法を次のステップで説明します。
ステップ1: ソースファイルのupload。
既存のSQLファイル(.sql)をワークスペースファイルブラウザを使用してuploadするか、Databricks CLIを使用してスクリプトのディレクトリを一括uploadします。
ステップ2:マイグレーションプロジェクトを作成します。
ワークスペースから移行プロジェクトを作成します:
> **[マイグレーションプロジェクト]** をクリックします。
- プロジェクトの 名前 を入力します。
- ドロップダウンセレクターを使用して、 ソース ダイアレクト と ターゲット フレームワーク を選択します。
- ターゲットの 宛先フォルダ へのファイルパスを入力します。 参照 をクリックして、利用可能なワークスペースフォルダのリストから宛先を選択します。
- (オプション)プロジェクトのリネージを記述する リネージファイル へのパスを入力します。 参照 をクリックして、ワークスペース内のファイルリストからファイルを選択します。
- 作成 をクリックします。

ステップ 3: プロジェクトにファイルを追加します
新しいプロジェクトで:
- 「ファイルを追加」 > 「+ ファイルを追加」 をクリックします。
- ワークスペースからソースフォルダーまたはファイルを選択します。
プロジェクトは、各ファイルをファイルタイプ、行数、変換ステータスとともにリストします。

ステップ 4: コードの複雑さとリネージを確認する (オプション)
Lakebridge Analyzerを実行した場合は、そのJSON出力をプロジェクトにuploadして、コードの複雑さとリネージを確認してください。ソースファイルをクリックして複雑性評価を開き、**リネージ**をクリックして、一緒に移行する必要がある相互依存ファイルとテーブルを示す依存関係グラフを開きます。Analyzerの実行方法については、Lakebridge Analyzerガイドを参照してください。
ステップ 5: 変換を実行する
変換するファイルを選択し、**ラン**をクリックします。Genie Code は会話を開き、移行スキルを呼び出し、サブエージェントをデプロイしてファイルを同時に変換します。変換された各ファイルは、プロジェクト内にリンクされたファイルとして表示されます。コンバーターは各ファイルに次のステータスを付けます。
- グリーン : 正常に変換されました
- 黄色 :要レビュー
- **赤**: 変換に失敗しました。
- 灰色 : 進行中
ステップ6: 変換結果のレビュー。
変換されたファイルをクリックすると、SQL エディターで並列差分が開かれ、提案された Databricks SQL の横にソースコードが表示されます。提案されたすべての変更を承認するか、個々の編集を確認して承認してください。変換に失敗したスクリプトについては、エディターでコードを編集するか、Genie Code に再検証または特定のセクションの再試行を依頼してください。ご満足いただけたら、変換された SQL をノートブックまたは SQL エディターで実行し、Databricks で動作することを確認してください。
カスタムスキルを作成 (オプション)
カスタムスキルを使用すると、Genie Codeがすべての変換中に自動的に適用するビジネスルールをエンコードできます。これらを使用して、独自のデータ型を処理したり、推奨されるターゲットパターンを適用したり、繰り返し行う修正を記録したりできます。移行スキルは Genie Code スキルであるため、他のスキルと同じように作成および管理できます。詳細については、「Genie Code をエージェントスキルで拡張する」を参照してください。
Genie Code の設定から、または Genie Code の会話からスキルを作成できます。詳細な指示、例、またはサポートファイルを含む複雑なスキルには、設定パスを使用してください。迅速な単一ルールスキルには、チャットパスを使用してください。
- Genie Code settings
- Genie Code chat
詳細な手順を作成し、Gitフォルダーでバージョン管理できるように、スキルをファイルとして作成します。
-
Genie Codeパネルで、
設定 をクリックし、次に
スキルフォルダーを開く をクリックします。
-
ワークスペースのスキルパス
Workspace/.assistant/skills/の下に、スキル用のフォルダーを作成します。たとえば、Workspace/.assistant/skills/sql-migration/。 -
スキルフォルダーに、必要なフロントマターと変換ルールを使用して
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 は、次回の変換実行時にスキルを認識します。
エンコードしたい変換ルールを記述し、Genie Codeに保存を依頼します:
Always convert our custom type MYDATE to TIMESTAMP_NTZ. Save this as a custom migration skill.
Genie Codeはスキルを作成して登録し、ワークスペースでの今後の変換に適用されます。
アクティブなスキルを表示するには:
Show me my migration skills
スキルを削除するには:
Delete the migration skill for [description]
ワークスペーススキルはワークスペースレベルで保存され、ワークスペース内のすべてのユーザーで共有されます。
テストのヒント
エージェント ループの一環として、コンバーターは各ソース スクリプトを分析し、変換された出力が構文的に有効であり、ソースと意味的に同等であることを検証し、結果を書き込む前に失敗したセクションを繰り返し修正します。次のヒントは、出力を確認し、信頼性を高めるのに役立ちます。
- バッチ変換 :マルチファイル変換がエンドツーエンドで機能することを確認するために、2~5個の少量のファイルを1つのセッションで変換します。
- 構文検証 :変換後、Databricks SQLエディタまたはノートブックで出力をランして、エラーなく実行されることを確認してください。
- エッジ ケース :T-SQL のウィンドウ関数、Snowflake
QUALIFY、または RedshiftLISTAGGなど、方言固有の構文を含むスクリプトを含めて、コンバーターが複雑なパターンをどのように処理するかを確認します。 - セマンティックの正確性 : 元のクエリーと変換されたクエリーを同等のテストデータに対してランし、結果を比較します。出力が構文的に有効であるだけでなく、意味的に正しいことを確認します。