パイプライン開発に Genie Code を使用する

Genie CodeはLakeflow Pipelines Editorの開発者向けAIデータエンジニアリングパートナーです。 データを探索し、パイプライン コードを生成して実行し、1 つのプロンプトからエラーを修正します。

注

Genie Codeを使ってパイプラインを開発・移行しましょう。 従来の SQL を T-SQL、Snowflake、Oracle などの他の方言から ANSI SQL に変換するには、代わりにエージェント コード コンバーターを使用します。 エージェント コード コンバーターを使用した SQL の変換を参照してください。

パイプライン開発のための Genie Code とは

Genie Codeは、Lakeflow Pipelines Editorで多段階のデータエンジニアリングワークフロー全体を自動化できる自律的なパートナーです。

データ エンジニアリング エージェントを使用します。

Genie Codeは、パイプライン全体をゼロからエンドツーエンドで計画・生成したり、既存のパイプラインでの作業を加速したりすることができます。 エージェントは、続行する前に、お客様と協力してプランを承認し、次の手順を確認します。 Genie Code では、承認を得て、ツールを使用して、テーブルの検索、SQL またはPythonソース ファイルの編集、パイプラインの更新の実行、パイプライン データセットの読み取りなどのタスクを実行できます。

Genie Code のアクセスとアクションは、ユーザーのアクセス許可によって管理されます。 アクセス権を持つデータにのみアクセスし、アクセス許可を持つ操作を実行できます。

注

Genie Codeは、Azure Databricksで使用している機能に応じて機能を調整します。 たとえば、Lakeflow Pipelines エディターでは、Genie Code はパイプラインの編集タスクとデータ エンジニアリング タスクに重点を置いています。 ノートブックと SQL エディターでは、Genie Code はデータの探索と分析をサポートします。 詳細については、「 データ サイエンスに Genie Code を使用 する」を参照してください。

Requirements

データ エンジニアリングに Genie Code を使用するには、ワークスペースに次のものが必要です。

  • アカウントとワークスペースの両方で有効になっているパートナーを利用した AI 機能。 パートナーを利用した AI 機能を参照してください。
  • ワークスペースは、サポートされているリージョンに存在する必要があります。 Genie Code は、Geos を使用してデータ所在地を管理する 指定サービス です。 Genie Code 機能の Geo 可用性を参照してください。

パイプライン開発に Genie Code を使用する

パイプライン開発に Genie Code のエージェント機能を使用するには:

  1. Lakeflow Pipelines エディターから、ワークスペースの右上隅にある Sparkle Genie Code アイコンGenie Code をクリックして、Genie Code サイド パネルを開きます。

  2. Genie Code のプロンプトを入力します。 たとえば、"このパイプラインについて説明する" など、パイプラインに関する質問をすることができます。 また、新しいデータセットを追加するように依頼することもできます。たとえば、"bronze_sales_dataから読み取ってデータをクリーンアップし、有用な品質の期待を追加する新しいファイルにsilver_sales_dataを作成する" などです。

    注

    Genie Code はユーザーの Unity カタログのアクセス許可を尊重するため、アクセス権を持つデータとパイプライン ソースにのみアクセスできます。

  3. Genie Code が応答を生成すると、多くの場合、入力を取得するために一時停止します。

    • より複雑なタスクの場合、Genie Code は段階的な計画を作成し、明確な質問をする場合があります。 その明確な質問に答えて、その計画を磨くのを助けます。

    • Genie Code でコードを実行したり、パイプラインを更新したりする必要がある場合は、続行する前に承認を求められます。 要求を許可または拒否します。 このスレッドで [許可] (Genie Code 会話スレッドを参照) または [常に許可] を選択することもできます。

      Important

      Genie Codeはパイプライン内でコードを生成し実行できます。 危険な行動を防ぐためのガードレールがありますが、依然としてリスクがあります。 信頼できるデータでのみ使用し、実行する前にコードを確認する必要があります。

    • Genie Code の作業が続行されると、[ 続行 ] または [拒否 ] を選択するように求められる場合があります。既存の作業を確認し、[ 続行 ] を選択して次の手順に進むか 、[拒否] を選択して他の操作を試みるように指示します。

    • Genie Code の動作を停止するには、赤い 停止アイコンをクリックします。

Genie Code では、新しいファイルの作成、テキスト、クエリ、コードの生成、ファイルまたはパイプラインの実行、出力データセットへのアクセスを行って結果を解釈できます。

注

Genie Code が作業を続行し、次の手順を実行するには、現在作業しているタブを維持する必要があります。

ヒント

Genie Code がほとんどの応答で使用する手順を追加できます。 たとえば、使用するコード規則や、使用する推奨ライブラリがある場合は、Genie Code の手順にこれらのガイドラインを追加できます。 また、ドメイン固有のタスクに特化した機能を使用して Genie Code を拡張する スキル を作成することもできます。 詳細とその他のヒントについては、「 Genie Code の応答を改善するためのヒント」を参照してください。

機能

Genie Codeはほとんどのパイプライン開発タスクを助けてくれます。 主な機能は次のとおりです。

  • データ検出: Genie Code では、ワークスペース内のテーブルを検索して、タスクに必要なデータを見つけるのに役立ちます。
  • パイプライン コードの編集: Genie Code では、一度に複数のファイルを作成および編集できます。 変更中のファイルに関する情報が保持され、各ファイルのコードの相違が表示されるので、最後に変更を個別に、またはすべてまとめて確認できます。
  • パイプラインの実行: Genie Code では、個々のファイルを実行したり、パイプラインをドライラン/実行したり、完全な更新を実行したりできます。 Genie Code は、続行する前に確認を求めます。
  • パイプラインの動作を理解して改善する: Genie Code では、データセットとパイプライン出力を検査して、パイプラインが何をエンドツーエンドで行っているかとその理由を理解するのに役立ちます。 たとえば、変換の要約、ダウンストリーム テーブルへのデータ フローの追跡、行数やスキーマの予期しない変更の強調表示などを行うことができます。 データ品質の問題が発生する可能性がある場合、Genie Code は原因を特定し、パイプライン内の場所と対処方法を提案するのに役立ちます。

これらの機能は、次のような一般的なユース ケースをサポートします。

  • 新しいパイプラインの作成: Genie Code は、データの取り込みからデータの標準化とクリーニング、データの変換と分析まで、新しい medallion アーキテクチャ パイプラインを作成するすべての手順に役立ちます。
  • パイプラインの説明: Genie Code では、既存のパイプラインを分析して説明し、迅速に立ち上げるのに役立ちます。
  • 問題の修正: エラーがある場合、Genie Code は問題の診断と修正に役立ち、問題が解決されるまで複数のファイルを反復処理できます。
  • インクリメンタルリフレッシュの修正:パイプライン内のマテライズドビューが完全な再計算戦略でリフレッシュされると、Genie Codeはパイプラインの インクリメンタリゼーションインサイトから原因を診断し、インクリメンタルリフレッシュに適したクエリ改善を提案・適用し、ハードブロッカーをフラグ付けします。

他の ETL フレームワークから Lakeflow パイプラインに移行する

Important

この機能は ベータ版です。

Genie Code では、既存のデータ変換プロジェクトを Lakeflow パイプラインに移行できます。 アップロードしたプロジェクトを指定すると、そのツールが移行を最初から最後まで計画し、実行します。 この移行機能は Lakebridge の一部であり、 LakebridgeSwitch トランスパイラーを介して利用することもできます。

注

移行では現在、dbt プロジェクトと Informatica プロジェクトのみがサポートされています。 追加のソースのサポートが計画されています。

プロジェクトを移行する

  1. プロジェクトを Databricks にアップロードします。 次のいずれかを使用します:

    • カタログ: ボリュームを開き、 このボリュームにアップロードします。
    • ワークスペース: ディレクトリを開き、[Kebab] メニュー アイコンをクリックします。>インポートします。
  2. 空の Lakeflow パイプラインを作成します。 [ジョブとパイプライン] に移動し、ETL パイプラインを作成します。

  3. Genie Code に移行を依頼します。 Genie Code を開き、アップロードしたプロジェクトへのパスを指定してプロンプトを表示します。次に例を示します。

    ヒント

    /Volumes/my_catalog/my_schema/my_volume/my_project でプロジェクトを移行する

移行のしくみ

移行を開始すると、Genie Code によってプランが生成され、実行されます。

  1. ソースを読み取る。 ソース プロジェクトを読み取って、モデル、変換、依存関係を理解します。
  2. 入力を収集します。 SQL と Python のどちらのパイプライン ソースを生成するかなど、必要な入力を求めるために一時停止します。
  3. 中間表現 (IR) を調査して生成します。 プロジェクトを分析し、ソース ツールとは無関係にパイプラインのロジックをキャプチャする中間表現を構築します。
  4. 変換、検証、修復を行います。 IR をパイプライン ソースに変換し、結果を検証し、パイプラインが正しいまで修復ループで反復処理します。

注

移行されたパイプライン ソースを確認し、パイプラインを実行して、運用環境で元のプロジェクトに依存する前に結果が元のプロジェクトと一致することを確認します。

例示

開始するには、次のプロンプトを試してください。

  • 「my_catalog.my_schema 内の ransactions テーブルと customers テーブルを使用して、不正検知のための medallion アーキテクチャのパイプラインを構築して実行します。」
  • "このパイプラインのすべてのステップについて説明します。"
  • "このパイプラインのエラーを修正します。"

その他のリソース