次の方法で共有


ワークスペース内のバンドルを作成する

Databricks アセット バンドルは、ワークスペースで直接作成および変更できます。

ワークスペースでバンドルを使用するための要件については、ワークスペースの 要件の Databricks アセット バンドルを参照してください。

バンドルの詳細については、「 Databricks アセット バンドルとは」を参照してください。

バンドルの作成

Databricks ワークスペースにバンドルを作成するには:

  1. バンドルを作成する Git フォルダーに移動します。

  2. [ 作成 ] ボタンをクリックし、[ アセット バンドル] をクリックします。 または、ワークスペース ツリーで Git フォルダーまたはその関連する kebab を右クリックし、 作成>Asset バンドルをクリックします。

    アセット バンドルを作成する

  3. [ アセット バンドルの作成 ] ダイアログで、アセット バンドルに名前 ( 完全に素晴らしいバンドルなど) を付けます。 バンドル名には、文字、数字、ダッシュ、アンダースコアのみを含めることができます。

  4. テンプレートでは、空のバンドル、サンプル Python ノートブックを実行するバンドル、または SQL を実行するバンドルのどちらを作成するかを選択します。 Lakeflow Pipelines エディターを有効にしている場合は、ETL パイプライン プロジェクトを作成するオプションも表示されます。

    [新しいアセット バンドルの作成] ダイアログ

  5. 一部のテンプレートでは、追加の構成が必要です。 [ 次へ ] をクリックして、プロジェクトの構成を完了します。

    Template 構成オプション
    Lakeflow Spark 宣言型パイプライン
    • パイプライン データに使用する既定のカタログ
    • このバンドルで共同作業を行う各ユーザーに個人用スキーマを使用する (推奨)
    • パイプライン内のコード ファイルの初期言語
    既定の Python
    • サンプル ノートブックを含める
    • サンプル パイプラインを含める
    • サンプル Python パッケージを含める
    • サーバーレス コンピューティングを使用する
    既定の SQL
    • SQL ウェアハウス パス
    • 初期カタログ
    • 個人用スキーマを使用する
    • 開発中の初期スキーマ
  6. [作成してデプロイ]をクリックします。

これにより、Git フォルダーに初期バンドルが作成されます。これには、選択したプロジェクト テンプレートのファイル、 .gitignore Git 構成ファイル、必要な Databricks Asset Bundles databricks.yml ファイルが含まれます。 databricks.yml ファイルには、バンドルのメイン構成が含まれています。 詳細については、 Databricks アセット バンドルの構成に関するページを参照してください。

新しいアセット バンドル

バンドル内のファイルに加えられた変更は、Git フォルダーに関連付けられているリモート リポジトリと同期できます。 Git フォルダーには、多数のバンドルを含めることができます。

バンドルに新しいファイルを追加する

バンドルには、デプロイとワークスペースの構成、ソース ファイル (ノートブック、Python ファイル、テスト ファイルなど)、Databricks リソースの定義と設定 (Lakeflow ジョブや Lakeflow Spark 宣言パイプラインなど) を定義する databricks.yml ファイルが含まれています。 ワークスペース フォルダーと同様に、新しいファイルをバンドルに追加できます。

ヒント

バンドル ファイルを変更できるバンドル ビューの新しいタブを開くには、ワークスペース内のバンドル フォルダーに移動し、バンドル名の右側 にある [エディターで開く ] をクリックします。

ソース コード ファイルを追加する

ワークスペース UI で新しいノートブックまたはその他のファイルをバンドルに追加するには、バンドル フォルダーに移動し、次のようにします。

  • 右上にある [ 作成 ] をクリックし、バンドルに追加するファイルの種類 (Notebook、File、Query、Dashboard) のいずれかを選択します。
  • または、[ 共有 ] の左側にある kebab をクリックし、ファイルをインポートします。

ファイルをバンドル展開の一部にするには、ファイルをバンドル フォルダーに追加した後、 databricks.yml バンドル構成に追加するか、それを含むジョブまたはパイプライン定義ファイルを作成する必要があります。 「既存のリソースをバンドルに追加する」を参照してください。

リソース定義を作成する

バンドルには、デプロイに含めるジョブやパイプラインなどのリソースの定義が含まれます。 バンドルがデプロイされると、バンドルで定義されているリソースがワークスペースに作成されます (既にデプロイされている場合は更新されます)。 これらの定義は YAML または Python で指定され、UI でこれらの構成を直接作成および編集できます。

  1. 新しいリソースを定義するワークスペース内のバンドル フォルダーに移動します。

    ヒント

    以前にワークスペースのエディターでバンドルを開いたことがある場合は、ワークスペース ブラウザーの作成コンテキストの一覧を使用してバンドル フォルダーに移動できます。 「 作成コンテキスト」を参照してください。

  2. バンドル名の右側にある [ エディターで開く ] をクリックして、バンドル エディター ビューに移動します。

  3. バンドルのデプロイ アイコンをクリックして、[ デプロイ ] パネルに切り替えます。

    [デプロイ] パネル アイコン

  4. [ バンドル リソース ] セクションで、[ 追加] をクリックし、作成するリソース定義を選択します。

新しいジョブ定義

ジョブを定義するバンドル構成ファイルを作成するには:

  1. [デプロイ] パネルの [バンドル リソース] セクションで、[追加]、[新しいジョブ定義] の順にクリックします。

    ジョブ定義を作成する

  2. [ジョブ定義の作成] ダイアログの [ジョブ名] フィールドにジョブの名前を入力します。 Create をクリックしてください。

  3. 作成されたジョブ定義ファイルに YAML を追加します。 次の YAML の例では、ノートブックを実行するジョブを定義します。

    resources:
      jobs:
        run_notebook:
          name: run-notebook
          queue:
            enabled: true
          tasks:
            - task_key: my-notebook-task
              notebook_task:
                notebook_path: ../helloworld.ipynb
    

YAML でのジョブの定義の詳細については、 ジョブを参照してください。 サポートされている他のジョブ タスクの種類の YAML 構文については、「 Databricks Asset Bundles のジョブにタスクを追加する」を参照してください。

新しいパイプライン定義

ワークスペースで Lakeflow パイプライン エディター を有効にしている場合は、「 新しい ETL パイプライン」を参照してください。

パイプライン定義をバンドルに追加するには:

  1. [デプロイ] パネルの [バンドル リソース] セクションで、[追加] をクリックし、[新しいパイプライン定義] をクリックします。

  2. [既存のバンドルにパイプラインを追加する] ダイアログの [ パイプライン名 ] フィールド に、パイプライン の名前を入力します。

  3. 追加とデプロイをクリックします。

ノートブックを実行する test_pipeline という名前のパイプラインの場合、ファイル test_pipeline.pipeline.ymlに次の YAML が作成されます。

resources:
  pipelines:
    test_pipeline:
      name: test_pipeline
      libraries:
        - notebook:
            path: ../test_pipeline.ipynb
      serverless: true
      catalog: main
      target: test_pipeline_${bundle.environment}

構成を変更して、既存のノートブックを実行できます。 YAML でのパイプラインの定義の詳細については、 パイプラインを参照してください。

新しい ETL パイプライン

新しい ETL パイプライン定義を追加するには:

  1. [デプロイ] パネルの [バンドル リソース] セクションで、[追加]、[新しい ETL パイプライン] の順にクリックします。

  2. [既存のバンドルにパイプラインを追加] ダイアログの [名前 ] フィールド にパイプライン の名前を入力します。 名前はワークスペース内で一意である必要があります。

  3. [ 個人用スキーマの使用 ] フィールドで、開発シナリオでは [はい ] を選択し、運用シナリオでは [いいえ ] を選択します。

  4. パイプラインの 既定のカタログ既定のスキーマ を選択します。

  5. パイプラインのソース コードの言語を選択します。

  6. 追加とデプロイをクリックします。

    ETL パイプラインの作成ダイアログ

  7. [ Deploy to dev]\(開発へのデプロイ \) 確認ダイアログで詳細を確認し、[Deploy]\( デプロイ\) をクリックします。

ETL パイプラインは、探索テーブルと変換テーブルの例を使用して作成されます。

ワークスペース内のバンドル内の ETL パイプライン

rad_pipelineという名前のパイプラインの場合、ファイル rad_pipeline.pipeline.ymlに次の YAML が作成されます。 このパイプラインは、サーバーレス コンピューティングで実行するように構成されています。 パイプライン構成のリファレンスについては、「 パイプライン」を参照してください。

resources:
  pipelines:
    rad_pipeline:
      name: rad_pipeline
      libraries:
        - glob:
            include: transformations/**
      serverless: true
      catalog: main
      schema: ${workspace.current_user.short_name}
      root_path: .

新しいダッシュボード定義

ダッシュボードを定義するバンドル構成ファイルを作成するには:

  1. [デプロイ] パネルの [バンドル リソース] セクションで、[追加]、[新しいダッシュボード定義] の順にクリックします。

  2. [既存のバンドルにダッシュボードを追加] ダイアログの [ダッシュボード名 ] フィールド に、ダッシュボード の名前を入力します。

  3. ダッシュボードの 倉庫 を選択します。 追加とデプロイをクリックします。

新しい空のダッシュボードと構成 *.dashboard.yml ファイルがバンドルに作成されます。 ダッシュボードは、構成ファイルで指定されたウェアハウスに格納されます。

ダッシュボードの詳細については、「 ダッシュボード」を参照してください。 ダッシュボード構成の YAML 構文については、 ダッシュボードを参照してください。

既存のリソースをバンドルに追加する

ワークスペース UI を使用するか、バンドルにリソース構成を追加することで、既存のリソースをバンドルに追加できます。

バンドル ワークスペース UI を使用する

既存のジョブ、パイプライン、またはダッシュボードをバンドルに追加するには:

  1. リソースを追加するワークスペース内のバンドル フォルダーに移動します。

    ヒント

    以前にワークスペースのエディターでバンドルを開いたことがある場合は、ワークスペース ブラウザーの作成コンテキストの一覧を使用してバンドル フォルダーに移動できます。 「 作成コンテキスト」を参照してください。

  2. バンドル名の右側にある [ エディターで開く ] をクリックして、バンドル エディター ビューに移動します。

  3. バンドルのデプロイ アイコンをクリックして、[ デプロイ ] パネルに切り替えます。

  4. [ バンドル リソース ] セクションで、[ 追加] をクリックし、[ 既存のジョブの追加]、[ 既存のパイプラインの追加]、または [既存のダッシュボードの追加] をクリックします。

    既存のジョブ、パイプライン、またはダッシュボードを追加する

  5. [ 既存の ... の追加 ] ダイアログで、ドロップダウンから既存のリソースを選択します。

  6. 既存のリソースをバンドルに追加すると、Databricks はこのリソースのバンドル構成ファイルに定義を作成します。 バンドル内でこの定義を変更できるため、バンドルで定義されているリソースは、作成に使用されるリソースとは異なる場合があります。

    バンドル リソース構成の更新を処理する方法のオプションを選択します。

    • 運用デプロイでの更新: 既存のリソースはバンドル内のリソースにリンクされ、バンドル内のリソースに加えた変更は、 prod ターゲットにデプロイするときに既存のリソースに適用されます。
    • 開発デプロイ時の更新: 既存のリソースはバンドル内のリソースにリンクされ、バンドル内のリソースに加えた変更は、 dev ターゲットにデプロイするときに既存のリソースに適用されます。
    • (詳細) 更新しない: 既存のリソースがバンドルにリンクされていません。 バンドル内のリソースに加えられた変更は、既存のリソースには適用されません。 代わりに、コピーが作成されます。 バンドル リソースを対応するワークスペース リソースにバインドする方法の詳細については、「 databricks バンドルのデプロイ バインド」を参照してください。
  7. [ ... の追加] をクリックして、既存のリソースをバンドルに追加します。

バンドル構成の追加

バンドルのデプロイに含めるバンドル構成を定義することで、既存のリソースをバンドルに追加することもできます。 次の例では、既存のパイプラインをバンドルに追加します。

共有ワークスペースでtaxifilter ノートブックを実行する taxifilter.ipynb という名前のパイプラインがあるとします。

  1. Azure Databricks ワークスペースのサイドバーで、ジョブ & パイプライン をクリックします。

  2. 必要に応じて、[ Pipelines and Owned by me ] フィルターを選択します。

  3. 既存の taxifilter パイプラインを選択します。

  4. パイプライン ページで、[ 開発 デプロイ モード] ボタンの左側にある kebab をクリックします。 次に、[ 設定 YAML の表示] をクリックします。

  5. コピー アイコンをクリックして、パイプラインのバンドル構成をコピーします。

  6. ワークスペースでバンドルにアクセスします。

  7. バンドルのデプロイ アイコンをクリックして、[ デプロイ ] パネルに切り替えます。

  8. [ バンドル リソース ] セクションで、[ 追加] をクリックし、[ 新しいパイプライン定義] をクリックします。

    代わりに [ 新しい ETL パイプライン ] メニュー項目が表示される場合は、 Lakeflow パイプライン エディター が有効になっています。 ETL パイプラインをバンドルに追加するには、「 ソース管理パイプラインの作成」を参照してください。

  9. [既存のバンドルにパイプラインを追加] ダイアログの [taxifilter] フィールドに「」と入力します。 Create をクリックしてください。

  10. 既存のパイプラインの構成をファイルに貼り付けます。 次のパイプライン例は、 taxifilter ノートブックを実行するように定義されています。

    resources:
      pipelines:
        taxifilter:
          name: taxifilter
          catalog: main
          libraries:
            - notebook:
                path: /Workspace/Shared/taxifilter.ipynb
          target: taxifilter_${bundle.environment}
    

バンドルをデプロイし、UI を使用してパイプライン リソースを実行できるようになりました。