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

Lakebridge Agentic ConverterでSQLを変換する

備考

ベータ版

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

Lakebridge Agentic Converterは、Genie Codeを使用して、T-SQL、Snowflake、Redshift、Oracle、BigQuery、Teradataなどの既存のSQL方言を、Databricksで実行されるANSI SQLに変換します。移行プロジェクトで作業を整理します。そこでは、コンバーターが各ソーススクリプトを分析し、変換された出力を検証し、反復的にエラーを修正してから、結果をワークスペースフォルダに書き込みます。

Lakebridgeは、既存のデータウェアハウスやETLツールからDatabricksにワークロードを移行するための、DatabricksのAI搭載型移行ツールです。Lakebridge Agentic Converterは、そのコード変換コンポーネントです。

仕組み

ワークスペースに移行プロジェクトを作成することで変換を開始します。プロジェクトは各ファイルのステータスを追跡し、移行を管理するための単一の場所を提供します。

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

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

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

要件

  • Lakebridge Agentic Converter ベータ版が有効になっているワークスペース。ワークスペース管理者が プレビュー ページから機能を有効にします。「Databricksプレビューの管理」を参照してください。
  • 既存の SQL ファイルは、ワークスペース ファイルとしてuploadするか、エディターで開くことにより、ワークスペースでアクセスできる必要があります。
  • ワークスペースは、Genie Codeの要件を満たす必要があります。See Genie Code.

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

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

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

このコンバーターは ANSI SQL を対象としています。変換ごとに以下の制限が適用されます。

  • 1つのバッチには最大300個のファイルを含めることができます。
  • スクリプトには最大1,000行を含めることができます。
  • Teradata BTEQ スクリプトはまだサポートされていません。

既存のSQLコードを変換します

以下の手順では、移行プロジェクトで既存のSQLを変換する方法を説明します。

ステップ 1: ソースファイルをUpload

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

ステップ 2: 移行プロジェクトを作成する

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

  1. 新しいアイコン> **[移行プロジェクト]** をクリックします。
  2. プロジェクトの**名前**を入力します。
  3. ドロップダウンセレクターを使用して、**ソースダイアレクト**と**ターゲットフレームワーク**を選択します。
  4. ターゲットの**宛先フォルダー**のファイルパスを入力してください。**参照**をクリックして、利用可能なワークスペースフォルダーのリストから宛先を選択します。
  5. (オプション) プロジェクトのリネージを記述する リネージファイル のパスを入力します。 参照 をクリックして、ワークスペース内のファイルリストからファイルを選択します。
  6. 作成 をクリックします。

プロジェクト名、ソース方言、ターゲットフレームワーク、および宛先フォルダフィールドを表示する新しい移行プロジェクトダイアログ。

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

新しいプロジェクトで:

  1. 「ファイルを追加」「+ ファイルを追加」 をクリックします。
  2. ワークスペースからソースフォルダまたはファイルを選択します。

プロジェクトでは、各ファイルのファイルの種類、行数、変換ステータスが一覧表示されます。

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

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

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

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

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

  • Green : 正常に変換されました
  • **黄色**:要レビュー
  • **赤**: 変換に失敗しました
  • グレー :処理中

ステップ6:変換結果の確認

変換されたファイルをクリックすると、SQLエディターでサイドバイサイドの差分が開き、提案されたDatabricks SQLの隣にソースコードが表示されます。提案されたすべての変更を承認するか、個別の編集を確認して承認します。変換に失敗したスクリプトについては、エディターでコードを編集するか、Genie Codeに特定のセクションの再検証または再試行を依頼してください。問題がなければ、変換されたSQLをノートブックまたはSQLエディターで実行し、Databricks上で実行されることを確認してください。

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

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

Genie Codeの設定から、またはGenie Codeの会話からスキルを作成できます。詳細な指示、例、またはサポートファイルが含まれる複雑なスキルには、設定パスを使用します。迅速な単一ルールスキルには、チャットパスを使用します。

詳細な手順を作成し、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 は、次回変換を実行する際にスキルを認識します。

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

テストのヒント

エージェントループの一部として、コンバーターは各ソーススクリプトを分析し、変換された出力が構文的に有効であり、ソースと意味的に同等であることを検証し、結果を書き込む前に失敗したセクションを繰り返し修正します。出力のレビューと信頼性向上に役立つヒントは以下のとおりです。

  • バッチ変換 :複数ファイルの変換がエンドツーエンドで機能することを確認するために、1回のセッションで2〜5個のファイルを小規模バッチで変換します。
  • 構文検証 : 変換後、Databricks SQLエディタまたはノートブックで出力を実行し、エラーなく実行されることを確認します。
  • **エッジケース**: T-SQLウィンドウ関数、SnowflakeQUALIFY 、またはRedshiftLISTAGG などの方言固有の構成を持つスクリプトを含めて、コンバーターが複雑なパターンをどのように処理するかを確認します。
  • セマンティックの正確性 :元のクエリーと変換されたクエリーを同等のテストデータに対してランし、結果を比較します。出力が構文的に有効であるだけでなく、意味的に正しいことを確認してください。

その他のリソース