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

Databricks Asset Bundles のリソース

Databricks Asset Bundles を使用すると、バンドル構成の resources マッピングで、バンドルで使用される Databricks リソースに関する情報を指定できます。 リソース・マッピングリソース・キー・リファレンスを参照してください。

このページでは、バンドルでサポートされているすべてのリソース タイプの構成リファレンスを提供し、サポートされている各タイプの詳細と例を示します。追加の例については、 「バンドル構成の例」を参照してください。

YAML 構成の検証に使用されるバンドルの JSON スキーマは、 Databricks CLI GitHub リポジトリにあります。

ヒント

既存のリソースに対してYAMLを生成するには、 databricks bundle generate コマンドを使用します。「 databricks バンドルの生成」を参照してください。

サポートされているリソース

次の表に、バンドルでサポートされているリソースの種類を示します。一部のリソースは、バンドルで定義してバンドルをデプロイすることで作成でき、一部のリソースは、バンドルに含める既存のアセットを参照することによってのみ作成できます。

リソースは、対応する Databricks REST API オブジェクトの作成操作要求ペイロードを使用して定義され、オブジェクトのサポートされるフィールド (YAML として表される) は、リソースのサポートされているプロパティです。各リソースの対応するペイロードのドキュメントへのリンクを表に示します。

ヒント

databricks bundle validate コマンドは、バンドル構成ファイルに不明なリソース・プロパティーが見つかった場合に警告を戻します。

アプリ

Type: Map

アプリ リソースは、 Databricks アプリを定義します。Databricks Appsに関する情報については、「Databricksアプリ」を参照してください。

アプリを追加するには、必要な source_code_pathなど、アプリを定義するための設定を指定します。

ヒント

Streamlit Databricks アプリでバンドルを初期化するには、次のコマンドを使用します。

databricks bundle init https://github.com/databricks/bundle-examples --template-dir contrib/templates/streamlit-app
YAML
apps:
<app-name>:
<app-field-name>: <app-field-value>

キー

タイプ

説明

budget_policy_id

文字列

アプリの予算ポリシー ID。

compute_size

文字列

アプリのコンピュートサイズ。 有効な値はMEDIUMLARGELIQUIDですが、ワークスペースの構成によって異なります。

config

Map

廃止。代わりに、アプリ構成コマンドと環境変数を app.yaml ファイルで定義します。「Databricks アプリの構成」を参照してください。

description

文字列

アプリの説明。

lifecycle

Map

リソースがデプロイまたは破棄されるときの動作。ライフサイクルを参照してください。

name

文字列

アプリの名前。名前には、小文字の英数字とハイフンのみを含める必要があります。ワークスペース内で一意である必要があります。

permissions

順序

アプリの権限。「パーミッション」を参照してください。

resources

順序

コンピュートリソースというアプリ。 アプリのリソースを参照してください。

source_code_path

文字列

Databricks アプリのソース コードの ./app ローカル パス。このフィールドは必須です。

user_api_scopes

順序

ユーザー API のスコープ。

アプリリソース

Type: Sequence

アプリのコンピュート リソース。

キー

タイプ

説明

description

文字列

アプリ リソースの説明。

database

Map

使用する Lakebase データベースを識別する設定。app.リソース.databaseを参照してください。

genie_space

Map

使用するGenieを識別する設定。 app.リソース.genie_spaceを参照してください。

job

Map

使用するジョブ リソースを識別する設定。「app.リソース.ジョブ」を参照してください。

name

文字列

アプリ リソースの名前。

secret

Map

使用する Databricks シークレット リソースを識別する設定。app.リソース.secretを参照してください。

serving_endpoint

Map

使用するモデルサービング エンドポイント リソースを識別する設定。 app.リソース.serving_endpointを参照してください。

sql_warehouse

Map

使用するSQLウェアハウス リソースを識別する設定。 app.リソース.sql_warehouseを参照してください。

us_securable

Map

使用するUnity Catalogボリュームを識別する設定。 app.リソース.uc_securableを参照してください。

アプリ.リソース.データベース

Type: Map

使用する Lakebase データベースを識別する設定。

キー

タイプ

説明

id

文字列

データベース インスタンスの ID。

permission

文字列

データベースの権限レベル。有効な値にはCAN_USECAN_MANAGEが含まれます。

app.リソース.genie_space

Type: Map

使用するGenieを識別する設定。

キー

タイプ

説明

name

文字列

Genieスペースの名前。

permission

文字列

スペースの権限レベル。有効な値には、 CAN_VIEWCAN_EDITCAN_MANAGECAN_RUNが含まれます。

space_id

文字列

GenieスペースのID (例: 550e8400-e29b-41d4-a716-999955440000 )。

アプリリソース.ジョブ

Type: Map

使用するジョブ・リソースを識別する設定。

キー

タイプ

説明

id

文字列

ジョブのID。

permission

文字列

ジョブの権限レベル。有効な値にはCAN_VIEWCAN_MANAGE_RUNCAN_MANAGEが含まれます。

アプリリソース.シークレット

Type: Map

使用する Databricks シークレット リソースを識別する設定。

キー

タイプ

説明

scope

文字列

シークレットスコープの名前。

key

文字列

シークレットスコープ内のキー。

permission

文字列

シークレットの権限レベル。有効な値にはREADWRITEMANAGEが含まれます。

app.リソース.serving_endpoint

Type: Map

使用するモデルサービング エンドポイント リソースを識別する設定。

キー

タイプ

説明

name

文字列

サービングエンドポイントの名前。

permission

文字列

サービスエンドポイントの権限レベル。有効な値にはCAN_QUERYCAN_MANAGEが含まれます。

app.リソース.sql_warehouse

Type: Map

使用するSQLウェアハウスを識別する設定。

キー

タイプ

説明

id

文字列

SQLウェアハウスのID。

permission

文字列

SQLウェアハウスの権限レベル。 有効な値にはCAN_USECAN_MANAGEが含まれます。

app.リソース.uc_securable

Type: Map

使用する Unity Catalog ボリュームを識別する設定。

キー

タイプ

説明

full_name

文字列

catalog.schema.name形式でセキュリティ保護可能なUnity Catalogの完全な名前。

permission

文字列

UC セキュリティ保護可能なもののアクセス許可レベル。有効な値にはREAD_FILESWRITE_FILESALL_PRIVILEGESが含まれます。

次の例では、バンドルによって作成されたジョブを管理する my_app という名前のアプリを作成します。

YAML
resources:
jobs:
# Define a job in the bundle
hello_world:
name: hello_world
tasks:
- task_key: task
spark_python_task:
python_file: ../src/main.py
environment_key: default

environments:
- environment_key: default
spec:
environment_version: '2'

# Define an app that manages the job in the bundle
apps:
job_manager:
name: 'job_manager_app'
description: 'An app which manages a job created by this bundle'

# The location of the source code for the app
source_code_path: ../src/app

# The resources in the bundle which this app has access to. This binds the resource in the app with the bundle resource.
resources:
- name: 'app-job'
job:
id: ${resources.jobs.hello_world.id}
permission: 'CAN_MANAGE_RUN'

対応する app.yaml は、アプリを実行するための構成を定義します。

YAML
command:
- flask
- --app
- app
- run
- --debug
env:
- name: JOB_ID
valueFrom: 'app-job'

Databricks アプリの例の完全なバンドルについては、 bundle-examples GitHub リポジトリを参照してください。

クラスター

Type: Map

クラスター リソースは 、クラスターを定義します。

YAML
clusters:
<cluster-name>:
<cluster-field-name>: <cluster-field-value>

キー

タイプ

説明

apply_policy_default_values

ブール値

true に設定すると、ポリシーの固定値とデフォルト値が省略されたフィールドに使用されます。 false に設定すると、ポリシーの固定値のみが適用されます。

autoscale

Map

負荷に基づいてクラスターを自動的にスケールアップおよびスケールダウンするために必要なパラメーター。 オートスケールを参照してください。

autotermination_minutes

Integer

クラスターがこの時間 (分単位) 非アクティブになると、自動的に終了します。 設定しない場合、このクラスターは自動的に終了しません。 指定する場合、しきい値は 10 分から 10000 分の間でなければなりません。ユーザーは、この値を 0 に設定して、自動終了を明示的に無効にすることもできます。

aws_attributes

Map

Amazon Web サービスで実行されるクラスターに関連する属性。クラスターの作成時に指定しない場合は、一連のデフォルト値が使用されます。 aws_attributesを参照してください。

azure_attributes

Map

Microsoft Azureで実行されるクラスターに関連する属性。クラスターの作成時に指定しない場合は、一連のデフォルト値が使用されます。 azure_attributesを参照してください。

cluster_log_conf

Map

Spark ログを長期保存先に配信するための構成。クラスターを参照してください。

cluster_name

文字列

ユーザーが要求したクラスター名。 これは一意である必要はありません。作成時に指定しない場合、クラスター名は空の文字列になります。

custom_tags

Map

クラスター リソースの追加タグ。 Databricks は、すべてのクラスター リソース ( AWS インスタンスや EBS ボリュームなど) に、 default_tags.

data_security_mode

文字列

クラスターからデータにアクセスするときに使用するデータガバナンス モデル。 有効な値には、 NONESINGLE_USERUSER_ISOLATIONLEGACY_SINGLE_USERLEGACY_TABLE_ACLLEGACY_PASSTHROUGHが含まれます。

docker_image

Map

カスタムDockerイメージ。 Dockerを参照してください。

driver_instance_pool_id

文字列

クラスターのドライバーのインスタンスプールのオプションのIDが属します。 プール クラスターは、ドライバー プールが割り当てられていない場合、ID (instance_pool_id) のインスタンス プールを使用します。

driver_node_type_id

文字列

Spark ドライバーのノードの種類。このフィールドはオプションであることに注意してください。設定を解除すると、ドライバー ノード タイプは、上記で定義した node_type_id と同じ値に設定されます。このフィールドは、node_type_id とともに、virtual_cluster_size が設定されている場合は設定しないでください。driver_node_type_id、node_type_id、virtual_cluster_size の両方を指定すると、driver_node_type_id と node_type_idが優先されます。

enable_elastic_disk

ブール値

オートスケール Local Storage: 有効にすると、このクラスターは、 Spark ワーカーのディスク容量が不足しているときに、追加のディスク容量を動的に取得します。 この機能が正しく機能するには、特定のAWS権限が必要です - 詳細については、ユーザーガイドを参照してください。

enable_local_disk_encryption

ブール値

クラスター VM のローカル ディスクで LUKS を有効にするかどうか

gcp_attributes

Map

Google Cloud Platform で実行されるクラスターに関連する属性。 クラスターの作成時に指定しない場合は、一連のデフォルト値が使用されます。 gcp_attributesを参照してください。

init_scripts

順序

initスクリプトを格納するための設定です。 目的地はいくつでも指定できます。スクリプトは、指定された順序で順番に実行されます。init_scriptsを参照してください。

instance_pool_id

文字列

クラスターが属するインスタンスプールのオプションの ID。

is_single_node

ブール値

このフィールドは、 kind = CLASSIC_PREVIEW場合にのみ使用できます。true に設定すると、Databricks は 1 つのノードに関連する custom_tagsspark_conf、 を自動的に設定します num_workers

kind

文字列

このコンピュート仕様で描かれているコンピュートの種類。

node_type_id

文字列

このフィールドは、このクラスターの各 Spark ノードで使用可能なリソースを 1 つの値でエンコードします。 たとえば、 Spark ノードをプロビジョニングし、メモリやコンピュートの負荷の高いワークロード用に最適化できます。 使用可能なノードの種類の一覧は、 :method を使用して取得できます/listNodeTypes API 呼び出し。

num_workers

Integer

このクラスターに必要なワーカー ノードの数。 クラスターには、1 つの Spark ドライバーと num_workers つのエグゼキューターがあり、合計 num_workers + 1 つの Spark ノードがあります。

permissions

順序

クラスターのアクセス許可。 「パーミッション」を参照してください。

policy_id

文字列

クラスターの作成に使用されたクラスターポリシーの ID(該当する場合)。

runtime_engine

文字列

クラスターのランタイム エンジン ( STANDARD または PHOTON) を決定します。

single_user_name

文字列

1 つのユーザー名 (data_security_mode の場合) SINGLE_USER

spark_conf

Map

オプションのユーザー指定の Spark 構成キーと値のペアのセットを含むオブジェクト。ユーザーは、追加のJVMオプションの文字列を、それぞれspark.driver.extraJavaOptionsspark.executor.extraJavaOptionsを介してドライバーとエグゼキューターに渡すこともできます。

spark_env_vars

Map

オプションのユーザー指定の環境変数のキーと値のペアのセットを含むオブジェクト。

spark_version

文字列

クラスターの Spark バージョン(例: 3.3.x-scala2.11。使用可能な Spark バージョンの一覧は、 :method を使用して取得できます/sparkVersions API 呼び出し。

ssh_public_keys

順序

このクラスターの各 Spark ノードに追加されるSSH公開鍵の内容。 対応する秘密鍵を使用して、ポート 2200でユーザー名ubuntuでログインできます。キーは 10 個まで指定できます。

use_ml_runtime

ブール値

このフィールドは、 kind = CLASSIC_PREVIEW場合にのみ使用できます。 effective_spark_version は、 spark_version (DBR リリース)、このフィールド use_ml_runtime、および GPU ノードであるかどうか node_type_id によって決まります。

workload_type

Map

クラスター ワークロードの種類を示す属性。 workload_typeを参照してください。

クラスター.オートスケール

Type: Map

負荷に基づいてクラスターを自動的にスケールアップおよびスケールダウンするためのパラメーター。

キー

タイプ

説明

min_workers

Integer

使用率が低い場合にクラスターをスケールダウンできるワーカーの最小数。 これは、作成後にクラスターが持つワーカーの初期数でもあります。

max_workers

Integer

過負荷時にクラスターがスケールアップできるワーカーの最大数。max_workers min_workersより大きくなければなりません。

クラスター.aws_attributes

Type: Map

Amazon Web サービスで実行されるクラスターに関連する属性。

キー

タイプ

説明

zone_id

文字列

クラスターが存在する可用性ゾーン/データセンターの識別子。この文字列はus-west-2aのような形式になります。

availability

文字列

first_on_demandノード以降のすべての後続ノードに使用される可用性タイプ。有効な値はSPOTON_DEMANDSPOT_WITH_FALLBACKです。

spot_bid_price_percent

Integer

AWS スポットインスタンスの最大価格(対応するインスタンスタイプのオンデマンド価格のパーセンテージ)。

instance_profile_arn

文字列

このクラスターのノードは、このインスタンスプロファイルを持つ AWS インスタンスにのみ配置されます。

first_on_demand

Integer

クラスターの最初のfirst_on_demandノードはオンデマンド インスタンスに配置されます。クラスター ドライバー ノードがオンデマンド インスタンスに配置されるようにするには、この値は0より大きくする必要があります。

ebs_volume_type

文字列

このクラスターで起動される EBS ボリュームのタイプ。有効な値はGENERAL_PURPOSE_SSDまたはTHROUGHPUT_OPTIMIZED_HDDです。

ebs_volume_count

Integer

各インスタンスで起動されたボリュームの数。

ebs_volume_size

Integer

インスタンスごとに起動される各EBSボリュームのサイズ (GiB) です。

ebs_volume_iops

Integer

EBS gp3 ボリュームあたりの IOPS 数。

ebs_volume_throughput

Integer

EBS gp3 ボリュームあたりのスループット (MiB/秒)。

クラスター.azure_attributes

Type: Map

Microsoft Azureで実行されるクラスターに関連する属性。

キー

タイプ

説明

first_on_demand

Integer

クラスターの最初のfirst_on_demandノードはオンデマンド インスタンスに配置されます。

availability

文字列

first_on_demandノード以降のすべての後続ノードに使用される可用性タイプ。有効な値はSPOT_AZUREON_DEMAND_AZURESPOT_WITH_FALLBACK_AZUREです。

spot_bid_max_price

Number

Azure スポット インスタンスの最大価格。最低価格を指定するには-1を使用します。

クラスター.gcp_attributes

Type: Map

Google Cloud Platform で実行されるクラスターに関連する属性。

キー

タイプ

説明

use_preemptible_executors

ブール値

プリエンプティブルエグゼキューターを使用するかどうか。 プリエンプティブル エグゼキューターは、GCE によっていつでも再利用できるプリエンプティブル GCE インスタンスです。

google_service_account

文字列

Databricks クラスター VM インスタンスで使用される Google サービス アカウント。

local_ssd_count

Integer

クラスター内の各ノードに接続するローカル SSD の数。デフォルト値は0です。

zone_id

文字列

クラスターが存在する可用性ゾーン/データセンターの識別子。

availability

文字列

すべてのノードに使用される可用性タイプ。有効な値はPREEMPTIBLE_GCPON_DEMAND_GCPPREEMPTIBLE_WITH_FALLBACK_GCPです。

boot_disk_size

Integer

ブート ディスクのサイズ (GB)。値の範囲は通常 100 ~ 1000 です。

クラスター.cluster_log_conf

Spark ログを長期保存先に配信するための構成。

キー

タイプ

説明

dbfs

Map

クラスター ログ配信用の DBFS の場所です。dbfs を参照してください。

s3

Map

クラスター ログ配信用の S3 の場所。s3を参照してください。

volumes

Map

クラスター ログ配信用のボリュームの場所です。を参照してください。

クラスター.cluster_log_conf.dbfs

Type: Map

クラスター ログ配信用の DBFS の場所です。

キー

タイプ

説明

destination

文字列

クラスター ログ配信用の DBFS パス (例: dbfs:/cluster-logs )。

クラスター.cluster_log_conf.s3

Type: Map

クラスター ログ配信用の S3 の場所。

キー

タイプ

説明

destination

文字列

クラスター ログ配信用の S3 URI (例: s3://my-bucket/cluster-logs )。

region

文字列

S3 バケットの AWS リージョン。

endpoint

文字列

S3 エンドポイント URL (オプション)。

enable_encryption

ブール値

クラスター ログの暗号化を有効にするかどうか。

encryption_type

文字列

暗号化の種類。有効な値にはSSE_S3SSE_KMSが含まれます。

kms_key

文字列

暗号化用の KMS キー ARN ( SSE_KMSを使用する場合)。

canned_acl

文字列

クラスター ログに適用する既定 ACL。

クラスター.cluster_log_conf.ボリューム

Type: Map

クラスター ログ配信用のボリュームの場所です。

キー

タイプ

説明

destination

文字列

クラスター ログ配信のボリューム パス (例: /Volumes/catalog/schema/volume/cluster_log )。

クラスター.docker_image

Type: Map

カスタムDockerイメージ 構成。

キー

タイプ

説明

url

文字列

DockerイメージのURL。

basic_auth

Map

Docker リポジトリの基本認証。basic_auth を参照してください。

クラスター.docker_image.基本認証

Type: Map

Docker リポジトリの基本認証。

キー

タイプ

説明

username

文字列

Docker レジストリ認証のユーザー名。

password

文字列

Docker レジストリ認証用のパスワード。

クラスター.init_scripts

Type: Map

init スクリプトを保存するための構成。 少なくとも 1 つの場所の種類を指定する必要があります。

キー

タイプ

説明

dbfs

Map

init スクリプトのDBFSの場所。 dbfs を参照してください。

workspace

Map

init スクリプトのワークスペースの場所。 ワークスペースを参照してください。

s3

Map

init スクリプトのS3の場所。 s3を参照してください。

abfss

Map

init スクリプトの ABFSS の場所。 abfss を参照してください。

gcs

Map

init スクリプトのGCSの場所。 GCSを参照してください。

volumes

Map

init スクリプトの UC ボリュームの場所。 を参照してください。

クラスター.init_scripts.dbfs

Type: Map

init スクリプトのDBFSの場所。

キー

タイプ

説明

destination

文字列

init スクリプトのDBFSパス。

クラスター.init_scripts.ワークスペース

Type: Map

init スクリプトのワークスペースの場所。

キー

タイプ

説明

destination

文字列

initスクリプトのワークスペースパス。

クラスター.init_scripts.s3

Type: Map

initスクリプトの S3 の場所。

キー

タイプ

説明

destination

文字列

initスクリプトのS3 URI。

region

文字列

S3 バケットの AWS リージョン。

endpoint

文字列

S3 エンドポイント URL (オプション)。

クラスター.init_scripts.abfss

Type: Map

init スクリプトの ABFSS の場所。

キー

タイプ

説明

destination

文字列

init スクリプトの ABFSS パス。

クラスター.init_scripts。 GCS

Type: Map

init スクリプトのGCSの場所。

キー

タイプ

説明

destination

文字列

init スクリプトのGCSパス。

クラスター.init_scripts.ボリューム

Type: Map

init スクリプトのボリュームの場所。

キー

タイプ

説明

destination

文字列

init スクリプトの UC ボリューム パス。

クラスター.ワークロードタイプ

Type: Map

クラスターのワークロード タイプを示すクラスター属性。

キー

タイプ

説明

clients

Map

クラスターを使用できるクライアントの種類を定義します。クライアントを参照してください。

クラスター.ワークロードタイプ.クライアント

Type: Map

このコンピュート ワークロードのクライアントのタイプ。

キー

タイプ

説明

jobs

ブール値

クラスターがジョブを実行できるかどうか。

notebooks

ブール値

クラスターがノートブックを実行できるかどうか。

次の例では、 Databricks Runtime 15.4 LTS とクラスターポリシーを使用して、現在のユーザー専用の (シングルユーザー) クラスターを作成します。

YAML
resources:
clusters:
my_cluster:
num_workers: 0
node_type_id: 'i3.xlarge'
driver_node_type_id: 'i3.xlarge'
spark_version: '15.4.x-scala2.12'
spark_conf:
'spark.executor.memory': '2g'
autotermination_minutes: 60
enable_elastic_disk: true
single_user_name: ${workspace.current_user.userName}
policy_id: '000128DB309672CA'
enable_local_disk_encryption: false
data_security_mode: SINGLE_USER
runtime_engine": STANDARD

この例では、単純なクラスター my_cluster を作成し、それを my_jobでノートブックを実行するために使用するクラスターとして設定します。

YAML
bundle:
name: clusters

resources:
clusters:
my_cluster:
num_workers: 2
node_type_id: 'i3.xlarge'
autoscale:
min_workers: 2
max_workers: 7
spark_version: '13.3.x-scala2.12'
spark_conf:
'spark.executor.memory': '2g'

jobs:
my_job:
tasks:
- task_key: test_task
notebook_task:
notebook_path: './src/my_notebook.py'
existing_cluster_id: ${resources.clusters.my_cluster.id}

ダッシュボード

Type: Map

ダッシュボードリソースを使用すると、 AI/BI ダッシュボード をバンドルで管理できます。 AI/BIダッシュボードに関する情報については、「ダッシュボード」を参照してください

ローカル環境からダッシュボードを含むバンドルをデプロイし、UI を使用してそのダッシュボードを変更した場合、 bundle generateを使用して明示的に更新しない限り、UI を通じて行われた変更はローカル バンドル内のダッシュボード JSON ファイルには適用されません。--watchオプションを使用すると、ダッシュボードの変更を継続的にポーリングして取得できます。databricks bundle generate を参照してください。

さらに、リモート ワークスペースとは異なるダッシュボード JSON ファイルを含むバンドルをローカル環境からデプロイしようとすると、エラーが発生します。強制的にデプロイし、リモート ワークスペースのダッシュボードをローカル ワークスペースのダッシュボードで上書きするには、 --forceオプションを使用します。「databricks バンドル デプロイ」を参照してください。

注記

ダッシュボード Git をサポートする Databricks アセット バンドルを使用する場合は、同期マッピングを追加してダッシュボードをファイルとしての同期から除外することで、重複するダッシュボードが生成されないようにします。

YAML
sync:
exclude:
- src/*.lvdash.json
YAML
dashboards:
<dashboard-name>:
<dashboard-field-name>: <dashboard-field-value>

キー

タイプ

説明

display_name

文字列

ダッシュボードの表示名。

embed_credentials

ブール値

バンドル・デプロイメントのID資格証明を使用して、すべてのダッシュボード・ビューアーの問合せを実行するかどうか。falseに設定されている場合、閲覧者の資格情報が使用されます。デフォルト値は falseです。

etag

文字列

ダッシュボードの etag。オプションで更新時に提供して、ダッシュボードが最後の読み取り以降に変更されていないことを確認できます。

file_path

文字列

ダッシュボードアセットのローカルパス (ファイル名を含む)。エクスポートされたダッシュボードのファイル拡張子は常に .lvdash.jsonです。

permissions

順序

ダッシュボードの権限。「パーミッション」を参照してください。

serialized_dashboard

すべて

ダッシュボードの内容 (シリアル化された文字列形式)。

warehouse_id

文字列

ダッシュボードの実行に使用されたウェアハウス ID。

次の例では、サンプルの NYC タクシー乗車分析 ダッシュボードを含め、Databricks ワークスペースにデプロイします。

YAML
resources:
dashboards:
nyc_taxi_trip_analysis:
display_name: 'NYC Taxi Trip Analysis'
file_path: ../src/nyc_taxi_trip_analysis.lvdash.json
warehouse_id: ${var.warehouse_id}

データベースカタログ

Type: Map

データベース・カタログ・リソースを使用すると、バンドル内のデータベース・インスタンスに対応する データベース・カタログ を定義できます。データベース カタログは、Unity Catalog カタログとして登録されている Lakebase データベースです。

YAML
database_catalogs:
<database_catalog-name>:
<database_catalog-field-name>: <database_catalog-field-value>

キー

タイプ

説明

create_database_if_not_exists

ブール値

データベースが存在しない場合にデータベースを作成するかどうか。

database_instance_name

文字列

データベースを格納するインスタンスの名前。

database_name

文字列

カタログに関連付けられているデータベース (インスタンス内) の名前。

lifecycle

Map

リソースのライフサイクル設定 (リソースがデプロイまたは破棄されたときの動作など) が含まれます。ライフサイクルを参照してください。

name

文字列

Unity Catalog のカタログの名前。

次の例では、対応するデータベース・カタログを持つ データベース・インスタンス を定義します。

YAML
resources:
database_instances:
my_instance:
name: my-instance
capacity: CU_1
database_catalogs:
my_catalog:
database_instance_name: ${resources.database_instances.my_instance.name}
name: example_catalog
database_name: my_database
create_database_if_not_exists: true

データベースインスタンス

Type: Map

データベース・インスタンス・リソースを使用すると、バンドル内の データベース・インスタンス を定義できます。Lakebase データベース インスタンスは、ストレージと コンピュート リソースを管理し、ユーザーが接続するエンドポイントを提供します。

重要

データベースインスタンスを使用してバンドルをデプロイすると、インスタンスはすぐに実行を開始し、価格の対象となります。 「 Lakebase の価格」を参照してください。

YAML
database_instances:
<database_instance-name>:
<database_instance-field-name>: <database_instance-field-value>

キー

タイプ

説明

capacity

文字列

インスタンスの SKU。有効な値は、 CU_1CU_2CU_4CU_8です。

custom_tags

順序

インスタンスに関連付けられたカスタム タグを指定するキーと値のペアのリスト。

enable_pg_native_login

ブール値

インスタンスで PG ネイティブパスワードログインが有効になっているかどうか。デフォルトは trueです。

enable_readable_secondaries

ブール値

セカンダリが読み取り専用トラフィックを処理できるようにするかどうか。デフォルトは falseです。

lifecycle

Map

リソースのライフサイクル設定が含まれます。リソースがデプロイまたは破棄されるときの動作を制御します。ライフサイクルを参照してください。

name

文字列

インスタンスの名前。これは、インスタンスの一意の識別子です。

node_count

Integer

1 つのプライマリと 0 つ以上のセカンダリで構成されるインスタンス内のノードの数。デフォルトは 1 プライマリと 0 セカンダリです。

parent_instance_ref

Map

親インスタンスの参照。これは、インスタンスが子インスタンスである場合にのみ使用できます。親インスタンスを参照してください。

permissions

順序

データベース・インスタンスの権限。「 権限」を参照してください。

retention_window_in_days

Integer

インスタンスの保持期間。これは、ヒストリカルデータが保持される日数単位の時間枠です。 デフォルト値は 7 日です。有効な値は 2 日から 35 日です。

stopped

ブール値

インスタンスが停止されているかどうか。

usage_policy_id

文字列

インスタンスに関連付ける希望の使用ポリシー。

データベースインスタンス.親インスタンス参照

Type: Map

親インスタンスの参照。これはインスタンスが 子インスタンス。

キー

タイプ

説明

branch_time

文字列

ref データベース インスタンスのブランチ時間。親参照インスタンスの場合、これはインスタンスが作成された親インスタンス上の時点です。子参照インスタンスの場合、これは子インスタンスが作成されたインスタンス上の時点です。

lsn

文字列

参照データベース インスタンスのユーザー指定の WAL LSN。

name

文字列

ref データベース インスタンスの名前。

次の例では、対応する データベース・カタログを持つデータベース・インスタンスを定義します。

YAML
resources:
database_instances:
my_instance:
name: my-instance
capacity: CU_1
database_catalogs:
my_catalog:
database_instance_name: ${resources.database_instances.my_instance.name}
name: example_catalog
database_name: my_database
create_database_if_not_exists: true

データベースインスタンスと対応するデータベースカタログを定義する方法を示すバンドルの例については、 bundle-examples GitHub リポジトリを参照してください。

エクスペリメント

Type: Map

エクスペリメント リソースを使用すると、バンドル内のエクスペリメントMLflowを定義できます。MLflow エクスペリメントに関する情報については、「MLflow エクスペリメントを使用してトレーニング 実行を整理する」を参照してください。

YAML
experiments:
<experiment-name>:
<experiment-field-name>: <experiment-field-value>

キー

タイプ

説明

artifact_location

文字列

エクスペリメント用のアーティファクトが格納されている場所。

lifecycle

Map

リソースのライフサイクル設定が含まれます。リソースがデプロイまたは破棄されるときの動作を制御します。ライフサイクルを参照してください。

name

文字列

エクスペリメントを識別するフレンドリ名。 エクスペリメント名は、 Databricks ワークスペース内の絶対パスである必要があります (例: /Workspace/Users/someone@example.com/my_experiment)。

permissions

順序

エクスペリメントの権限。 「パーミッション」を参照してください。

tags

順序

追加のメタデータのキーと値のペア。タグを参照してください。

次の例では、すべてのユーザーが表示できるエクスペリメントを定義しています。

YAML
resources:
experiments:
experiment:
name: /Workspace/Users/someone@example.com/my_experiment
permissions:
- level: CAN_READ
group_name: users
description: MLflow experiment used to track runs

ジョブ

Type: Map

ジョブ リソースを使用すると、 バンドル内でジョブとそれに対応するタスク を定義できます。 ジョブに関する情報については、「ジョブLakeflow」を参照してください。Databricks Asset Bundles テンプレートを使用してジョブを作成するチュートリアルについては、「 Databricks Asset Bundles を使用してジョブを開発する」を参照してください。

YAML
jobs:
<job-name>:
<job-field-name>: <job-field-value>

キー

タイプ

説明

budget_policy_id

文字列

このジョブに使用するユーザー指定の予算ポリシーの ID。指定しない場合、ジョブを作成または変更するときにデフォルトの予算ポリシーが適用される場合があります。このワークロードで使用される予算ポリシーについては、 effective_budget_policy_id を参照してください。

continuous

Map

このジョブのオプションの連続プロパティ。continuous プロパティにより、常に 1 つの実行が実行されるようになります。schedulecontinuousのどちらか一方しか使用できません。「continuous」を参照してください。

deployment

Map

外部ソースによって管理されるジョブのデプロイメント情報。デプロイメントを参照してください。

description

文字列

ジョブの説明 (オプション)。最大長は UTF-8 エンコードで 27700 文字です。

edit_mode

文字列

ジョブの編集モード ( UI_LOCKED または EDITABLEのいずれか)

email_notifications

Map

このジョブの実行が開始または完了したとき、およびこのジョブが削除されたときに通知されるEメールアドレスのオプションセット。 Eメールを参照してください。

environments

順序

このジョブのサーバレスタスクが参照できるタスク実行環境仕様の一覧。 サーバレスタスクを実行するには環境が必要です。 サーバレス ノートブック タスクの場合、ノートブック環境パネルから環境にアクセスできます。 その他のレスサーバタスクの場合、タスク設定のenvironment_keyでタスク環境を指定する必要があります。

format

文字列

ジョブの形式。

git_source

Map

タスクで使用されるソースコードを含むリモート Git リポジトリのオプションの仕様。

大事な: git_source フィールドと GIT に設定されたタスク source フィールドは、ローカルの相対パスが Git リポジトリ内の同じコンテンツを指していない可能性があり、デプロイされたジョブがデプロイされた場所のローカル コピーと同じコンテンツを持つことをバンドルは想定しているため、バンドルには推奨されません。

代わりに、リポジトリをローカルにクローンし、このリポジトリ内にバンドルプロジェクトを設定して、タスクのソースがワークスペースになるようにします。

health

Map

このジョブに定義できる正常性ルールのオプションセット。「健康」を参照してください。

job_clusters

順序

このジョブのタスクで共有および再利用できるジョブ クラスター スペシフィケーションの一覧。 クラスターを参照してください。

max_concurrent_runs

Integer

オプションのジョブの実行実行の最大許容数。 同じジョブを複数回同時に実行できるようにする場合は、この値を設定します。

name

文字列

ジョブのオプションの名前。最大長は UTF-8 エンコードで 4096 バイトです。

notification_settings

Map

このジョブの各 email_notificationswebhook_notifications に通知を送信するときに使用するオプションの通知設定。notification_settingsを参照してください。

parameters

順序

ジョブレベルの問題の定義。

performance_target

文字列

サーバレスでの実行の実行のパフォーマンスまたはコスト効率がどの程度であるべきかを定義します。

permissions

順序

ジョブのアクセス許可。「パーミッション」を参照してください。

queue

Map

ジョブのキュー設定。「キュー」を参照してください。

run_as

Map

書き込み専用設定。ジョブを実行するユーザーまたはサービスプリンシパルを指定します。 指定しない場合、ジョブはジョブを作成したユーザーとして実行されます。user_nameまたはservice_principal_nameいずれかを指定する必要があります。そうでない場合はエラーがスローされます。run_as を参照してください。

schedule

Map

このジョブのオプションの定期的なスケジュール。デフォルトの動作は、ジョブUIで[実行]をクリックするか、 API リクエストを runNowに送信してトリガーされた場合にのみジョブが実行されることです。 スケジュールを参照してください。

tags

Map

ジョブに関連付けられたタグのマップ。これらは、ジョブ クラスターのクラスタータグとしてクラスターに転送され、クラスタータグと同じ制限が適用されます。 ジョブには最大 25 個のタグを追加できます。

tasks

順序

このジョブによって実行されるタスク仕様のリスト。「Databricks アセット バンドルのジョブにタスクを追加する」を参照してください

timeout_seconds

Integer

このジョブの各実行に適用されるオプションのタイムアウト。値 0 は、タイムアウトがないことを意味します。

trigger

Map

特定の条件が満たされたときに実行をトリガーする構成。トリガーを参照してください。

webhook_notifications

Map

このジョブの実行が開始または完了したときに通知するシステム通知 ID のコレクション。webhook_notificationsを参照してください。

ジョブ継続

Type: Map

継続的なジョブ実行の構成。

キー

タイプ

説明

pause_status

文字列

継続ジョブを停止するかどうか。 有効な値: PAUSEDUNPAUSED

ジョブのデプロイメント

Type: Map

外部ソースによって管理されるジョブのデプロイメント情報。

キー

タイプ

説明

kind

文字列

展開の種類。たとえば、 BUNDLE

metadata_file_path

文字列

デプロイメントのメタデータ ファイルへのパス。

ジョブ.メール通知

Type: Map

ジョブ実行の電子メール通知設定。

キー

タイプ

説明

on_start

順序

実行の開始時に通知する電子メール アドレスのリスト。

on_success

順序

実行が成功したときに通知する電子メール アドレスのリスト。

on_failure

順序

実行が失敗したときに通知する電子メール アドレスのリスト。

on_duration_warning_threshold_exceeded

順序

実行期間が警告しきい値を超えたときに通知する電子メール アドレスのリスト。

no_alert_for_skipped_runs

ブール値

スキップされた実行のアラートの送信をスキップするかどうか。

ジョブ.git_source

Type: Map

ジョブ ソース コードの Git リポジトリ構成。

キー

タイプ

説明

git_url

文字列

Git リポジトリの URL。

git_provider

文字列

Git プロバイダー。有効な値: gitHubbitbucketCloudgitLabazureDevOpsServicesgitHubEnterprisebitbucketServergitLabEnterpriseEdition

git_branch

文字列

使用する Git ブランチの名前。

git_tag

文字列

使用する Git タグの名前。

git_commit

文字列

使用する Git コミット ハッシュ。

git_snapshot

Map

使用されたコミット情報。これは読み取り専用フィールドです。git_snapshot を参照してください。

ジョブ.git_source.git_snapshot

Type: Map

読み取り専用のコミット情報のスナップショット。

キー

タイプ

説明

used_commit

文字列

使用されたコミット ハッシュ。

仕事の健康

Type: Map

ジョブのヘルスモニタリング構成。

キー

タイプ

説明

rules

順序

ジョブの健全性ルールのリスト。 各ルールには、 metricop (演算子)、およびvalueが含まれます。JobsHealthRuleを参照してください。

ジョブスヘルスルール

Type: Map

キー

タイプ

説明

metric

文字列

特定のヘルス ルールについて評価されるヘルス メトリクスを指定します。

  • RUN_DURATION_SECONDS: 実行にかかる予想合計時間(秒)。
  • STREAMING_BACKLOG_BYTES: すべてのストリーム全体で消費されるのを待機しているデータの最大バイト数の推定値。このメトリクスはパブリック プレビュー段階にあります。
  • STREAMING_BACKLOG_RECORDS: すべてのストリームにわたる最大オフセット ラグの推定値。このメトリクスはパブリック プレビュー段階にあります。
  • STREAMING_BACKLOG_SECONDS: すべてのストリームにわたる最大コンシューマー遅延の推定値。このメトリクスはパブリック プレビュー段階にあります。
  • STREAMING_BACKLOG_FILES: すべてのストリームにわたる未処理ファイルの最大数の推定値。このメトリクスはパブリック プレビュー段階にあります。

op

文字列

ヘルス メトリクス値を指定したしきい値と比較するために使用する演算子を指定します。

value

Integer

ヘルス ルールを満たすためにヘルス メトリクスが従う必要があるしきい値を指定します。

ジョブ通知設定

Type: Map

ジョブのすべての通知に適用される通知設定。

キー

タイプ

説明

no_alert_for_skipped_runs

ブール値

スキップされた実行のアラートの送信をスキップするかどうか。

no_alert_for_canceled_runs

ブール値

キャンセルされた実行に関するアラートの送信をスキップするかどうか。

ジョブキュー

Type: Map

ジョブのキュー設定。

キー

タイプ

説明

enabled

ブール値

ジョブのキューイングを有効にするかどうか。

ジョブスケジュール

Type: Map

定期的なジョブ実行のスケジュール構成。

キー

タイプ

説明

quartz_cron_expression

文字列

ジョブがいつ実行されるかを指定する Quartz 構文を使用した Cron 式。たとえば、 0 0 9 * * ?毎日午前 9:00 UTC にジョブを実行します。

timezone_id

文字列

スケジュールのタイムゾーン。たとえば、 America/Los_AngelesまたはUTCです。

pause_status

文字列

スケジュールが停止するかどうか。 有効な値: PAUSEDUNPAUSED

ジョブトリガー

Type: Map

イベントドリブンジョブ実行のトリガー構成。

キー

タイプ

説明

file_arrival

Map

ファイルの到着に基づいてトリガーします。file_arrival を参照してください。

table

Map

テーブルに基づいてトリガーします。を参照してください。

table_update

Map

テーブルの更新に基づいてトリガーします。table_update を参照してください。

periodic

Map

定期的なトリガー。定期的なを参照してください。

ジョブトリガーファイル到着

Type: Map

ファイルの到着に基づいて構成をトリガーします。

キー

タイプ

説明

url

文字列

新しいファイルを監視するファイル パス。

min_time_between_triggers_seconds

Integer

トリガー イベント間の最小時間 (秒)。

wait_after_last_change_seconds

Integer

最後のファイル変更後、トリガーするまでの待機時間(秒)。

ジョブトリガーテーブル

Type: Map

テーブルに基づいたトリガー構成。

キー

タイプ

説明

table_names

順序

監視するテーブル名のリスト。

condition

文字列

ジョブをトリガーするために満たす必要がある SQL 条件。

ジョブトリガーテーブル更新

Type: Map

テーブルの更新に基づいて構成をトリガーします。

キー

タイプ

説明

table_names

順序

更新を監視するテーブル名のリスト。

condition

文字列

ジョブをトリガーするために満たす必要がある SQL 条件。

wait_after_last_change_seconds

Integer

最後のテーブル更新後にトリガーするまでの待機時間(秒)。

ジョブトリガー定期

Type: Map

定期的なトリガーの構成。

キー

タイプ

説明

interval

Integer

定期トリガーの間隔値。

unit

文字列

間隔の時間単位。有効な値: SECONDSMINUTESHOURSDAYSWEEKS

ジョブ.webhook_通知

Type: Map

ジョブ実行の Webhook 通知設定。

キー

タイプ

説明

on_start

順序

実行の開始時に通知する Webhook 通知 ID のリスト。

on_success

順序

実行が成功したときに通知する Webhook 通知 ID のリスト。

on_failure

順序

実行が失敗したときに通知する Webhook 通知 ID のリスト。

on_duration_warning_threshold_exceeded

順序

実行期間が警告しきい値を超えたときに通知する Webhook 通知 ID のリスト。

次の例では、リソースキー hello-job を持つジョブと 1 つのノートブックタスクを定義します。

YAML
resources:
jobs:
hello-job:
name: hello-job
tasks:
- task_key: hello-task
notebook_task:
notebook_path: ./hello.py

次の例では、SQL ノートブックを使用してジョブを定義します。

YAML
resources:
jobs:
job_with_sql_notebook:
name: 'Job to demonstrate using a SQL notebook with a SQL warehouse'
tasks:
- task_key: notebook
notebook_task:
notebook_path: ./select.sql
warehouse_id: 799f096837fzzzz4

その他のジョブ設定例については、 ジョブ設定を参照してください。

ジョブ タスクの定義とジョブ設定の上書きに関する情報については、以下を参照してください。

モデル(レガシー)

Type: Map

モデルリソースを使用すると、 レガシーモデルを バンドルで定義できます。 Databricks では、代わりに Unity Catalog に登録されたモデル を使用することをお勧めします。

モデル_サービス_エンドポイント

Type: Map

model_serving_endpoint リソースを使用すると、 モデルサービングエンドポイントを定義できます。 モデルサービングエンドポイントの管理を参照してください。

YAML
model_serving_endpoints:
<model_serving_endpoint-name>:
<model_serving_endpoint-field-name>: <model_serving_endpoint-field-value>

キー

タイプ

説明

ai_gateway

Map

サービス エンドポイントの AI Gateway 構成。注: 現在サポートされているのは、外部モデルとプロビジョニングされたスループット エンドポイントのみです。「AI」を参照してください。

config

Map

サービス エンドポイントのコア構成。「config」を参照してください。

name

文字列

配信エンドポイントの名前。このフィールドは必須であり、Databricks ワークスペース全体で一意である必要があります。エンドポイント名は、英数字、ダッシュ、アンダースコアで構成できます。

permissions

順序

モデルサービング エンドポイントのアクセス許可。 「パーミッション」を参照してください。

rate_limits

順序

廃止。配信エンドポイントに適用されるレート制限。AI Gateway を使用してレート制限を管理します。

route_optimized

ブール値

サービス エンドポイントのルート最適化を有効にします。

tags

順序

提供エンドポイントに添付され、課金ログに自動的に伝播されるタグ。

モデルサービングエンドポイント.ai_gateway

Type: Map

サービスエンドポイントの AI ゲートウェイ構成。

キー

タイプ

説明

guardrails

Map

ガードレールの構成。ガードレールを参照してください。

inference_table_config

Map

Unity Catalogテーブルへの推論ログ記録の構成。 inference_table_config を参照してください。

rate_limits

順序

レート制限の設定。

usage_tracking_config

Map

使用状況を追跡するための構成。usage_tracking_config を参照してください。

モデルサービングエンドポイント.ai_gateway.ガードレール

Type: Map

AI ゲートウェイ ガードレールの構成。

キー

タイプ

説明

input

Map

safetypiiなどのフィールドを使用してガードレール構成を入力します。

output

Map

safetypiiなどのフィールドを含むガードレール構成を出力します。

invalid_keywords

順序

ブロックするキーワードのリスト。

モデルサービングエンドポイント.ai_gateway.推論テーブル構成

Type: Map

Unity Catalogテーブルへの推論ログ記録の構成。

キー

タイプ

説明

catalog_name

文字列

Unity Catalog のカタログの名前。

schema_name

文字列

Unity Catalog内のスキーマの名前。

table_name_prefix

文字列

推論テーブル名のプレフィックス。

enabled

ブール値

推論テーブルのログ記録が有効かどうか。

モデルサービングエンドポイント.ai_gateway.使用状況追跡構成

Type: Map

使用状況を追跡するための AI ゲートウェイ構成。

キー

タイプ

説明

enabled

ブール値

使用状況追跡が有効かどうか。

モデルサービングエンドポイント.config

Type: Map

サービスエンドポイントのコア構成。

キー

タイプ

説明

served_entities

順序

エンドポイントが提供するサービスエンティティのリスト。提供される各エンティティには、 entity_nameentity_versionworkload_sizescale_to_zero_enabledworkload_typeenvironment_varsなどのフィールドが含まれます。

served_models

順序

(非推奨: 代わりにserved_entitiesを使用してください) エンドポイントが提供するモデルのリスト。

traffic_config

Map

提供エンドポイントへの呼び出しをどのようにルーティングするかを定義するトラフィック構成。traffic_config を参照してください。

auto_capture_config

Map

Unity Catalogへのリクエストと応答を自動的に記録する推論テーブルの構成。 auto_capture_config を参照してください。

model_serving_endpoint.config.traffic_config

Type: Map

提供エンドポイントへの呼び出しをどのようにルーティングするかを定義するトラフィック構成。

キー

タイプ

説明

routes

順序

トラフィック分散のためのルートのリスト。各ルートにはserved_model_nametraffic_percentageが含まれます。

model_serving_endpoint.config.自動キャプチャ構成

Type: Map

Unity Catalogへのリクエストと応答を自動的に記録する推論テーブルの構成。

キー

タイプ

説明

catalog_name

文字列

Unity Catalog のカタログの名前。

schema_name

文字列

Unity Catalog内のスキーマの名前。

table_name_prefix

文字列

推論テーブル名のプレフィックス。

enabled

ブール値

推論テーブルのログ記録が有効かどうか。

次の例では、 Unity Catalog モデルサービングエンドポイントを定義しています。

YAML
resources:
model_serving_endpoints:
uc_model_serving_endpoint:
name: 'uc-model-endpoint'
config:
served_entities:
- entity_name: 'myCatalog.mySchema.my-ads-model'
entity_version: '10'
workload_size: 'Small'
scale_to_zero_enabled: 'true'
traffic_config:
routes:
- served_model_name: 'my-ads-model-10'
traffic_percentage: '100'
tags:
- key: 'team'
value: 'data science'

パイプライン

Type: Map

パイプライン リソースを使用すると、 LakeFlow Spark宣言型パイプラインパイプラインを作成できます。 パイプラインについては、 「 LakeFlow Spark宣言型パイプライン」を参照してください。 Databricks Asset Bundles テンプレートを使用してパイプラインを作成するチュートリアルについては、 Databricks Asset Bundles を使用したLakeFlow Spark宣言型パイプラインの開発」を参照してください。

YAML
pipelines:
<pipeline-name>:
<pipeline-field-name>: <pipeline-field-value>

キー

タイプ

説明

allow_duplicate_names

ブール値

false の場合、名前が別のパイプラインの名前と競合すると、デプロイは失敗します。

budget_policy_id

文字列

このパイプラインの予算ポリシー。

catalog

文字列

このパイプラインからデータを発行するための Unity Catalog のカタログ。target を指定すると、このパイプライン内のテーブルは、catalog 内のtargetスキーマ (catalog.target.tableなど) に発行されます。target を指定しない場合、データは Unity Catalogに公開されません。

channel

文字列

使用するLakeFlow Spark宣言型パイプラインのバージョンを指定するLakeFlow Spark宣言型パイプライン リリース チャンネル。

clusters

順序

このパイプライン デプロイのクラスター設定。 クラスターを参照してください。

configuration

Map

このパイプライン実行の構成。

continuous

ブール値

パイプラインが連続しているか、トリガーされているか。これは triggerを置き換えます。

deployment

Map

このパイプラインのデプロイの種類。デプロイメントを参照してください。

development

ブール値

パイプラインが開発モードであるかどうか。デフォルトは false です。

dry_run

ブール値

パイプラインがドライ実行パイプラインであるかどうか。

edition

文字列

パイプライン製品のエディション。

environment

Map

サーバレスコンピュートに依存関係をインストールするために使用するこのパイプラインの環境仕様。 このキーは、Databricks CLI バージョン 0.258 以降でのみサポートされます。

event_log

Map

このパイプラインのイベント ログ構成。event_logを参照してください。

filters

Map

デプロイされたグラフに含めるパイプライン パッケージを決定するフィルター。「フィルター」を参照してください。

id

文字列

このパイプラインの一意の識別子。

ingestion_definition

Map

マネージド インジェスト パイプラインの構成。これらの設定は、 librariesschematarget、または catalog 設定では使用できません。ingestion_definitionを参照してください。

libraries

順序

このデプロイメントに必要なライブラリまたはコードのリスト。PipelineLibrary を参照してください。

lifecycle

Map

リソースのライフサイクル設定が含まれます。リソースがデプロイまたは破棄されるときの動作を制御します。ライフサイクルを参照してください。

name

文字列

このパイプラインのわかりやすい名前。

notifications

順序

このパイプラインの通知設定。

permissions

順序

パイプラインのアクセス許可。「パーミッション」を参照してください。

photon

ブール値

このパイプラインでPhotonが有効になっているかどうか。

root_path

文字列

このパイプラインのルートパス。これは、Databricks ユーザー インターフェイスでパイプラインを編集するときにルート ディレクトリとして使用され、パイプラインの実行中に Python ソースを実行するときに sys.path に追加されます。

run_as

Map

パイプラインが実行される ID。指定しない場合、パイプラインを作成したユーザーとしてパイプラインが実行されます。 指定できるのはuser_nameまたはservice_principal_nameのみです。両方指定した場合はエラーがスローされます。run_as を参照してください。

schema

文字列

テーブルの読み取り元またはパブリッシュ先となるデフォルトのスキーマ (データベース)。

serverless

ブール値

このパイプラインでサーバレス コンピュートが有効になっているかどうか。

storage

文字列

チェックポイントとテーブルを格納するための DBFSルート ディレクトリ。

tags

Map

パイプラインに関連付けられているタグのマップ。これらはクラスタータグとしてクラスターに転送されるため、同じ制限が適用されます。パイプラインには最大 25 個のタグを追加できます。

target

文字列

このパイプラインにテーブルを追加するターゲット スキーマ (データベース)。schema または target のいずれかを正確に指定する必要があります。Unity Catalog に公開するには、 catalog.このレガシー フィールドは、パイプライン作成では非推奨となり、 schema フィールドが優先されます。

パイプラインのデプロイメント

Type: Map

パイプラインのデプロイメント タイプの構成。

キー

タイプ

説明

kind

文字列

展開の種類。たとえば、 BUNDLE

metadata_file_path

文字列

デプロイメントのメタデータ ファイルへのパス。

パイプライン環境

Type: Map

サーバレスコンピュートに依存関係をインストールするための環境仕様。

キー

タイプ

説明

spec

Map

環境の仕様。仕様を参照してください。

パイプライン環境仕様

Type: Map

環境の仕様。

キー

タイプ

説明

client

文字列

クライアントのバージョン (例: 1または2 )。

dependencies

順序

インストールする依存関係のリスト (例: numpypandas==1.5.0 )。

パイプラインイベントログ

Type: Map

パイプラインのイベント ログ構成。

キー

タイプ

説明

enabled

ブール値

イベント ログが有効かどうか。

storage_location

文字列

イベント ログの保存場所。

パイプラインフィルター

Type: Map

デプロイされたグラフに含めるパイプライン パッケージを決定するフィルター。

キー

タイプ

説明

include

順序

含めるパッケージ名のリスト。

exclude

順序

除外するパッケージ名のリスト。

パイプライン.取り込み定義

Type: Map

マネージド取り込みパイプラインの構成。

キー

タイプ

説明

connection_name

文字列

取り込みに使用する接続の名前。

ingestion_gateway_id

文字列

取り込みゲートウェイの ID。

objects

順序

取り込むオブジェクトのリスト。各オブジェクトは、SchemaSpec、TableSpec、または ReportSpec になります。SchemaSpecTableSpecReportSpec を参照してください。

table_configuration

Map

取り込みテーブルの構成。table_configuration を参照してください。

スキーマスペック

Type: Map

スキーマからすべてのテーブルを取り込むためのスキーマ オブジェクト仕様。

キー

タイプ

説明

source_schema

文字列

取り込むソース スキーマの名前。

destination_catalog

文字列

Unity Catalog内の宛先カタログの名前。

destination_schema

文字列

Unity Catalog内の宛先スキーマの名前。

table_configuration

Map

このスキーマ内のすべてのテーブルに適用する構成。パイプライン.ingestion_definition.table_configuration を参照してください。

テーブルスペック

Type: Map

特定のテーブルを取り込むためのテーブル オブジェクトの仕様。

キー

タイプ

説明

source_schema

文字列

テーブルを含むソース スキーマの名前。

source_table

文字列

取り込むソース テーブルの名前。

destination_catalog

文字列

Unity Catalog内の宛先カタログの名前。

destination_schema

文字列

Unity Catalog内の宛先スキーマの名前。

destination_table

文字列

Unity Catalog内の宛先テーブルの名前。

table_configuration

Map

この特定のテーブルの構成。パイプライン.ingestion_definition.table_configuration を参照してください。

レポートスペック

Type: Map

アナリティクス レポートを取り込むためのレポート オブジェクトの仕様。

キー

タイプ

説明

source_url

文字列

ソースレポートの URL。

source_report

文字列

ソース レポートの名前または識別子。

destination_catalog

文字列

Unity Catalog内の宛先カタログの名前。

destination_schema

文字列

Unity Catalog内の宛先スキーマの名前。

destination_table

文字列

レポート データの送信先テーブルの名前。

table_configuration

Map

レポート テーブルの構成。パイプライン.ingestion_definition.table_configuration を参照してください。

パイプライン.ingestion_definition.table_configuration

Type: Map

取り込みテーブルの構成オプション。

キー

タイプ

説明

primary_keys

順序

テーブルの主キーとして使用する列名のリスト。

salesforce_include_formula_fields

ブール値

取り込みに Salesforce 数式フィールドを含めるかどうか。

scd_type

文字列

適用する緩やかに変化するディメンション ( SCD ) のタイプ。 有効な値: SCD_TYPE_1SCD_TYPE_2

パイプラインライブラリ

Type: Map

このパイプラインに必要なライブラリまたはコードを定義します。

キー

タイプ

説明

file

Map

パイプラインを定義し、Databricks Repos に保存されるファイルへのパス。パイプライン.ライブラリ.ファイル を参照してください。

glob

Map

ソース コードを含める統合フィールド。各エントリは、ノートブック パス、ファイル パス、または/**で終わるフォルダー パスにすることができます。このフィールドは、 notebookまたはfileと一緒に使用することはできません。パイプライン.ライブラリ.glob を参照してください。

notebook

Map

パイプラインを定義し、Databricks ワークスペースに保存されるノートブックへのパス。パイプライン.ライブラリ.ノートブックを参照してください。

whl

文字列

このフィールドは非推奨です

パイプライン.ライブラリ.ファイル

Type: Map

パイプラインを定義し、 Databricks Reposに保存されているファイルへのパス。

キー

タイプ

説明

path

文字列

ソースコードの絶対パス。

パイプライン.ライブラリ.glob

Type: Map

ソース コードを含める統合フィールド。各エントリは、ノートブック パス、ファイル パス、または/**で終わるフォルダー パスにすることができます。このフィールドは、 notebookまたはfileと一緒に使用することはできません。

キー

タイプ

説明

include

文字列

パイプラインに含めるソースコード

パイプライン.ライブラリ.ノートブック

Type: Map

パイプラインを定義し、Databricks ワークスペースに保存されるノートブックへのパス。

キー

タイプ

説明

path

文字列

ソースコードの絶対パス。

次の例では、リソース キー が hello-pipelineを持つパイプラインを定義しています。

YAML
resources:
pipelines:
hello-pipeline:
name: hello-pipeline
clusters:
- label: default
num_workers: 1
development: true
continuous: false
channel: CURRENT
edition: CORE
photon: false
libraries:
- notebook:
path: ./pipeline.py

その他のパイプライン構成例については、「 パイプライン構成」を参照してください。

quality_monitor (Unity Catalog)

Type: Map

quality_monitor リソースを使用すると、 Unity Catalogテーブル モニターを定義できます。 モニターに関する情報については、 「データプロファイリング」を参照してください。

YAML
quality_monitors:
<quality_monitor-name>:
<quality_monitor-field-name>: <quality_monitor-field-value>

キー

タイプ

説明

assets_dir

文字列

モニタリングアセットを保存するディレクトリ(例: dashboard, メトリクス テーブル)。

baseline_table_name

文字列

ドリフト メトリクスのコンピュートの元となるベースライン テーブルの名前。 監視対象テーブルの列は、ベースライン テーブルにも存在する必要があります。

custom_metrics

順序

Custom メトリクス to コンピュート on the monitored table. これらは、aggregate メトリクス、derived メトリクス (すでにコンピュート aggregate メトリクスから)、または drift メトリクス (タイム ウィンドウ間でメトリクスを比較する) です。 custom_metricsを参照してください。

inference_log

Map

モニタリング推論ログの構成。 inference_logを参照してください。

lifecycle

Map

リソースのライフサイクル設定が含まれます。リソースがデプロイまたは破棄されるときの動作を制御します。ライフサイクルを参照してください。

notifications

Map

モニターの通知設定。「通知」を参照してください。

output_schema_name

文字列

出力メトリクステーブルが作成されるスキーマ。

schedule

Map

メトリクステーブルの自動更新と更新のスケジュール。 スケジュールを参照してください。

skip_builtin_dashboard

ブール値

データ品質メトリクスをまとめたデフォルトダッシュボードの作成をスキップするかどうか。

slicing_exprs

順序

ターゲットを絞った分析のためにデータをスライスする列式のリスト。データは各式ごとに個別にグループ化されるため、述語とその補数ごとに個別のスライスが作成されます。カーディナリティの高い列の場合、頻度の上位 100 個の一意の値のみがスライスを生成します。

snapshot

Map

モニタリング スナップショット テーブルの構成。 スナップショットを参照してください。

table_name

文字列

テーブルのフルネーム。

time_series

Map

モニタリング時系列テーブルの設定。 time_seriesを参照してください。

warehouse_id

文字列

ダッシュボード作成用のウェアハウスを指定するオプションの引数。指定しない場合は、最初に稼働しているウェアハウスが使用されます。

品質モニター.カスタムメトリック

Type: Sequence

キー

タイプ

説明

definition

文字列

メトリクスのコンピュート方法を指定するSQL式の Jinja テンプレート。 「メトリクス定義の作成」を参照してください。

input_columns

順序

メトリクスがコンピュートする必要がある入力テーブル内の列名のリスト。 :tableを使用して、メトリクスが複数の列からの情報を必要とすることを示すことができます。

name

文字列

出力テーブル内のメトリクスの名前。

output_data_type

文字列

カスタム メトリクスの出力タイプ。

type

文字列

CUSTOM_METRIC_TYPE_AGGREGATECUSTOM_METRIC_TYPE_DERIVEDCUSTOM_METRIC_TYPE_DRIFTのいずれか 1 つだけを指定できます。CUSTOM_METRIC_TYPE_AGGREGATECUSTOM_METRIC_TYPE_DERIVEDメトリクスは単一テーブル上でコンピュートされますが、 CUSTOM_METRIC_TYPE_DRIFTはベースラインと入力テーブル間、または 2 つの連続する時間ウィンドウ間でメトリクスを比較します。

  • CUSTOM_METRIC_TYPE_AGGREGATE: テーブル内の既存の列にのみ依存します
  • CUSTOM_METRIC_TYPE_DERIVED: 以前にコンピュートされた集計メトリクスに依存します
  • CUSTOM_METRIC_TYPE_DRIFT: 以前にコンピュートされた集計または派生メトリクスに依存します

品質モニター.データ分類構成

Type: Map

データ分類の構成。

キー

タイプ

説明

enabled

ブール値

データ分類が有効かどうか。

品質モニター.推論ログ

Type: Map

モニタリング推論ログの構成。

キー

タイプ

説明

granularities

順序

推論ログを集約するための時間の粒度 (例: ["1 day"] )。

model_id_col

文字列

モデル ID を含む列の名前。

prediction_col

文字列

予測を含む列の名前。

timestamp_col

文字列

タイムスタンプを含む列の名前。

problem_type

文字列

ML 問題の種類。有効な値にはPROBLEM_TYPE_CLASSIFICATIONPROBLEM_TYPE_REGRESSIONが含まれます。

label_col

文字列

ラベル (真実値) を含む列の名前。

品質モニター通知

Type: Map

モニターの通知設定。

キー

タイプ

説明

on_failure

Map

モニターが故障した場合の通知設定。on_failure を参照してください。

on_new_classification_tag_detected

Map

新しい分類タグが検出されたときの通知設定。on_new_classification_tag_detected を参照してください。

品質モニターの通知(失敗時)

Type: Map

モニターが故障した場合の通知設定。

キー

タイプ

説明

email_addresses

順序

モニターの障害時に通知する電子メール アドレスのリスト。

品質モニター通知。新しい分類タグが検出された場合

Type: Map

新しい分類タグが検出されたときの通知設定。

キー

タイプ

説明

email_addresses

順序

新しい分類タグが検出されたときに通知する電子メール アドレスのリスト。

品質モニタースケジュール

Type: Map

メトリクス テーブルを自動的に更新およびリフレッシュするスケジュール。

キー

タイプ

説明

quartz_cron_expression

文字列

Quartz 構文を使用した Cron 式。たとえば、 0 0 8 * * ?は毎日午前 8 時に実行されます。

timezone_id

文字列

スケジュールのタイムゾーン (例: UTCAmerica/Los_Angeles )。

pause_status

文字列

スケジュールが停止するかどうか。 有効な値: PAUSEDUNPAUSED

品質モニターのスナップショット

Type: Map

モニタリング スナップショット テーブルの構成。

品質モニター.時系列

モニタリング時系列テーブルの構成。

キー

タイプ

説明

granularities

順序

時系列データを集計するための時間の粒度 (例: ["30 minutes"] )。

timestamp_col

文字列

タイムスタンプを含む列の名前。

quality_monitorを定義する完全なバンドルの例については、mlops_demoバンドルを参照してください。

次の例では、 InferenceLogTimeSeriesおよびスナップショット プロファイルタイプの品質モニターを定義しています。

YAML
# InferenceLog profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
inference_log:
granularities: [1 day]
model_id_col: model_id
prediction_col: prediction
label_col: price
problem_type: PROBLEM_TYPE_REGRESSION
timestamp_col: timestamp
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
YAML
# TimeSeries profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
time_series:
granularities: [30 minutes]
timestamp_col: timestamp
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC
YAML
# Snapshot profile type
resources:
quality_monitors:
my_quality_monitor:
table_name: dev.mlops_schema.predictions
output_schema_name: ${bundle.target}.mlops_schema
assets_dir: /Workspace/Users/${workspace.current_user.userName}/databricks_lakehouse_monitoring
snapshot: {}
schedule:
quartz_cron_expression: 0 0 8 * * ? # Run Every day at 8am
timezone_id: UTC

registered_model (Unity Catalog)

Type: Map

登録済みのモデル リソースを使用すると、Unity Catalog でモデルを定義できます。 登録されたモデル に関する情報については、「Unity Catalog でのモデルのライフサイクルの管理Unity Catalog 」を参照してください。

YAML
registered_models:
<registered_model-name>:
<registered_model-field-name>: <registered_model-field-value>

キー

タイプ

説明

aliases

順序

登録されたモデルに関連付けられているエイリアスのリスト。registered_model.aliases を参照してください。

browse_only

ブール値

リクエストで include_browse が有効になっている場合に、プリンシパルが BROWSE 権限を通じて関連オブジェクトのメタデータの取得に制限されるかどうかを示します。

catalog_name

文字列

スキーマと登録済みモデルが存在するカタログの名前。

comment

文字列

登録したモデルに添付されたコメント。

full_name

文字列

登録されたモデルの3レベル(完全修飾)名

grants

順序

登録されたモデルに関連付けられた許可。助成金を参照してください。

lifecycle

Map

リソースのライフサイクル設定が含まれます。リソースがデプロイまたは破棄されるときの動作を制御します。ライフサイクルを参照してください。

name

文字列

登録されているモデルの名前。

schema_name

文字列

登録されたモデルが存在するスキーマの名前。

storage_location

文字列

モデルバージョンのデータファイルが保存されるクラウド上の保存場所。

登録済みモデルエイリアス

Type: Sequence

登録されたモデルに関連付けられたエイリアスのリスト

キー

タイプ

説明

alias_name

文字列

エイリアスの名前、例:「チャンピオン」または「latest_stable」

catalog_name

文字列

モデルバージョンを含むカタログの名前

id

文字列

エイリアスの一意の識別子

model_name

文字列

親スキーマを基準とした、モデル バージョンの親登録モデルの名前

schema_name

文字列

親カタログを基準としたモデルバージョンを含むスキーマの名前

version_num

Integer

このエイリアスが指すモデル バージョンの整数バージョン番号。

次の例では、Unity Catalog に登録されているモデルを定義しています。

YAML
resources:
registered_models:
model:
name: my_model
catalog_name: ${bundle.target}
schema_name: mlops_schema
comment: Registered model in Unity Catalog for ${bundle.target} deployment target
grants:
- privileges:
- EXECUTE
principal: account users

スキーマ (Unity Catalog)

Type: Map

スキーマ リソースの種類を使用すると、バンドルの一部として作成されたワークフローとパイプライン内のテーブルやその他のアセットの Unity Catalog スキーマ を定義できます。 スキーマは、他のリソースタイプとは異なり、次の制限があります。

  • スキーマリソースの所有者は常にデプロイメントユーザーであり、変更することはできません。バンドルにrun_asが指定されている場合、スキーマに対する操作では無視されます。
  • 対応する スキーマオブジェクト作成 API でサポートされているフィールドのみが、スキーマリソースで使用できます。 たとえば、 enable_predictive_optimization更新 API でのみ使用できるため、サポートされていません。
YAML
schemas:
<schema-name>:
<schema-field-name>: <schema-field-value>

キー

タイプ

説明

catalog_name

文字列

親カタログの名前。

comment

文字列

ユーザーが提供する自由形式のテキストの説明。

grants

順序

スキーマに関連付けられた許可。助成金を参照してください。

lifecycle

Map

リソースのライフサイクル設定が含まれます。リソースがデプロイまたは破棄されるときの動作を制御します。ライフサイクルを参照してください。

name

文字列

親カタログを基準としたスキーマの名前。

properties

Map

スキーマにアタッチされたキーと値のプロパティのマップ。

storage_root

文字列

スキーマ内のマネージドテーブルのストレージ ルート URL。

次の例では、リソース キー my_pipeline を使用してパイプラインを定義し、キー my_schema をターゲットとして Unity Catalog スキーマを作成します。

YAML
resources:
pipelines:
my_pipeline:
name: test-pipeline-{{.unique_id}}
libraries:
- notebook:
path: ../src/nb.ipynb
- file:
path: ../src/range.sql
development: true
catalog: ${resources.schemas.my_schema.catalog_name}
target: ${resources.schemas.my_schema.id}

schemas:
my_schema:
name: test-schema-{{.unique_id}}
catalog_name: main
comment: This schema was created by Databricks Asset Bundles.

最上位の付与マッピングは Databricks Asset Bundle ではサポートされていないため、スキーマの付与を設定する場合は、 schemas マッピング内でスキーマの付与を定義します。 権限の詳細については 、「権限の表示、付与、および取り消し」を参照してください。

次の例では、許可を使用して Unity Catalog スキーマを定義しています。

YAML
resources:
schemas:
my_schema:
name: test-schema
grants:
- principal: users
privileges:
- SELECT
- principal: my_team
privileges:
- CAN_MANAGE
catalog_name: main

secret_scope

Type: Map

secret_scope リソースを使用すると、バンドルに シークレットスコープ を定義できます。 シークレットスコープに関する情報については、「 シークレット管理」を参照してください。

YAML
secret_scopes:
<secret_scope-name>:
<secret_scope-field-name>: <secret_scope-field-value>

キー

タイプ

説明

backend_type

文字列

スコープが作成されるバックエンドの種類。指定しない場合、デフォルトは DATABRICKSです。

keyvault_metadata

Map

backend_typeAZURE_KEYVAULTの場合のシークレットスコープのメタデータ。 keyvault_metadata を参照してください。

lifecycle

Map

リソースのライフサイクル設定が含まれます。リソースがデプロイまたは破棄されるときの動作を制御します。ライフサイクルを参照してください。

name

文字列

ユーザーが要求したスコープ名。スコープ名は一意です。

permissions

順序

シークレットスコープに適用する権限。 権限は、シークレットスコープ ACL によって管理されます。 「パーミッション」を参照してください。

secret_scope.keyvault_metadata

Type: Map

Azure Key Vault を利用したシークレットスコープのメタデータ。

キー

タイプ

説明

resource_id

文字列

Key Vault の Azure リソース ID。

dns_name

文字列

Azure Key Vault の DNS 名。

次の例では、キー コンテナー バックエンドを使用するシークレットスコープを定義しています。

YAML
resources:
secret_scopes:
secret_scope_azure:
name: test-secrets-azure-backend
backend_type: 'AZURE_KEYVAULT'
keyvault_metadata:
resource_id: my_azure_keyvault_id
dns_name: my_azure_keyvault_dns_name

次の例では、シークレットスコープとアクセス許可を使用してカスタム ACL を設定します。

YAML
resources:
secret_scopes:
my_secret_scope:
name: my_secret_scope
permissions:
- user_name: admins
level: WRITE
- user_name: users
level: READ

シークレットスコープと、バンドル内でそこから読み取るタスクを持つジョブを定義する方法を示すバンドルの例については、 bundle-examples GitHub リポジトリを参照してください。

SQLウェアハウス

Type: Map

SQLウェアハウス リソースを使用すると、バンドル内のSQLウェアハウスを定義できます。 SQLウェアハウスについては、 Databricksのデータウェアハウスを参照してください。

YAML
sql_warehouses:
<sql-warehouse-name>:
<sql-warehouse-field-name>: <sql-warehouse-field-value>

キー

タイプ

説明

auto_stop_mins

Integer

SQL ウェアハウスが自動的に停止されるまでに、 SQLウェアハウスがアイドル状態 (たとえば、クエリが実行されていない状態) になるまでの時間 (分単位)。 有効な値は、自動停止なしを示す 0、または 10 以上です。デフォルトは 120 です。

channel

Map

チャンネルの詳細。チャンネルを見る

cluster_size

文字列

このウェアハウスに割り当てられたクラスターのサイズ。Spark クラスターのサイズを大きくすると、より大きなクエリを実行できるようになります。並列クエリの数を増やしたい場合は、max_num_clusters を調整します。 サポートされている値については、 cluster_size を参照してください。

creator_name

文字列

ウェアハウスを作成したユーザーの名前。

enable_photon

ブール値

ウェアハウスで Photon に最適化されたクラスターを使用するかどうか。デフォルトは false です。

enable_serverless_compute

ブール値

ウェアハウスがサーバレスコンピュートを使用するかどうか。

instance_profile_arn

文字列

非推奨。IAMロールをクラスターに渡すために使用されるインスタンスプロファイル

lifecycle

Map

リソースのライフサイクル設定が含まれます。リソースがデプロイまたは破棄されるときの動作を制御します。ライフサイクルを参照してください。

max_num_clusters

Integer

オートスケーラーが並列クエリを処理するために作成するクラスターの最大数。 値は 30 以下、 min_num_clusters以上である必要があります。設定されていない場合は、デフォルトで min_clusters になります。

min_num_clusters

Integer

このSQLウェアハウスに対して維持される使用可能なクラスターの最小数。 この値を増やすと、より多くのクラスターが常に実行されるようになり、新しいクエリのコールド スタート時間が短縮される可能性があります。これは、リソース マネージャー内の予約済みコアと取り消し可能なコアに似ています。値は 0 より大きく、min(max_num_clusters, 30) 以下である必要があります。デフォルトは 1 です。

name

文字列

クラスターの論理名。名前は組織内で一意であり、100 文字未満である必要があります。

permissions

順序

ウェアハウスに適用する権限。権限を参照してください。

spot_instance_policy

文字列

スポットインスタンスを使用するかどうか。有効な値はPOLICY_UNSPECIFIEDCOST_OPTIMIZEDRELIABILITY_OPTIMIZEDです。デフォルトはCOST_OPTIMIZEDです。

tags

Map

このSQLウェアハウスに関連付けられたすべてのリソース ( AWSインスタンスや EBS ボリュームなど) にタグ付けされるキーと値のペアのセット。 タグの数は 45 未満である必要があります。

warehouse_type

文字列

ウェアハウスのタイプ、 PROまたはCLASSIC 。 サーバレス コンピュートを使用する場合は、このフィールドをPROに設定し、フィールドenable_serverless_computetrueに設定します。

sql_warehouse.チャンネル

Type: Map

SQLウェアハウスのチャンネル構成。

キー

タイプ

説明

name

文字列

チャンネルの名前。 有効な値にはCHANNEL_NAME_CURRENTCHANNEL_NAME_PREVIEWCHANNEL_NAME_CUSTOMが含まれます。

dbsql_version

文字列

カスタム チャンネルの DBSQL バージョン。

次の例ではSQLウェアハウスを定義します。

YAML
resources:
sql_warehouses:
my_sql_warehouse:
name: my_sql_warehouse
cluster_size: X-Large
enable_serverless_compute: true
max_num_clusters: 3
min_num_clusters: 1
auto_stop_mins: 60
warehouse_type: PRO

synced_database_table

Type: Map

同期されたデータベーステーブルリソースを使用すると、 Lakebase データベーステーブルを バンドルで定義できます。

YAML
synced_database_tables:
<synced_database_table-name>:
<synced_database_table-field-name>: <synced_database_table-field-value>

キー

タイプ

説明

database_instance_name

文字列

ターゲット・データベース・インスタンスの名前。これは、標準カタログに同期されたデータベース表を作成するときに必要です。これは、登録済みカタログに同期されたデータベース表を作成する場合にオプションです。

lifecycle

Map

リソースのライフサイクル設定が含まれます。リソースがデプロイまたは破棄されるときの動作を制御します。ライフサイクルを参照してください。

logical_database_name

文字列

このテーブルのターゲット Postgres データベースオブジェクト (論理データベース) の名前。

name

文字列

テーブルのフルネーム ( catalog.schema.tableの形式)。

spec

Map

データベーステーブルの仕様。同期されたデータベース表の仕様を参照してください。

同期されたデータベーステーブル.spec

Type: Map

データベース テーブルの仕様。

キー

タイプ

説明

create_database_objects_if_missing

ブール値

同期されたテーブルの論理データベースとスキーマ リソースがまだ存在しない場合に作成するかどうか。

existing_pipeline_id

文字列

既存のパイプラインの ID。これが設定されている場合、同期されたテーブルは参照されている既存のパイプラインにビンパックされます。これにより、新しいパイプラインの作成が回避され、既存のコンピュートを共有できるようになります。 この場合、この同期されたテーブルのscheduling_policyは、既存のパイプラインのスケジュール ポリシーと一致する必要があります。existing_pipeline_idnew_pipeline_specのうち最大 1 つを定義する必要があります。

new_pipeline_spec

Map

新しいパイプラインの仕様。new_pipeline_spec を参照してください。existing_pipeline_idnew_pipeline_specのうち最大 1 つを定義する必要があります。

primary_key_columns

順序

主キーを形成する列名のリスト。

scheduling_policy

文字列

同期のスケジュール ポリシー。有効な値にはSNAPSHOTCONTINUOUSが含まれます。

source_table_full_name

文字列

ソース テーブルの完全な名前 (形式: catalog.schema.table

timeseries_key

文字列

同じ主キーを持つ行の重複を排除するための時系列キー。

同期されたデータベーステーブル.spec.新しいパイプラインの仕様

Type: Map

同期されたデータベース テーブルで使用される新しいパイプラインの仕様。

キー

タイプ

説明

storage_catalog

文字列

チェックポイントやイベント ログなどの中間ファイルを保存するためのパイプラインのカタログ。これは、ユーザーが Delta テーブルを作成する権限を持つ標準カタログである必要があります。

storage_schema

文字列

チェックポイントやイベント ログなどの中間ファイルを格納するパイプラインのスキーマ。これは、ユーザーが Delta テーブルを作成する権限を持つ標準カタログ内にある必要があります。

次の例では、対応する データベースカタログ内で同期されたデータベーステーブルを定義します。

YAML
resources:
database_instances:
my_instance:
name: my-instance
capacity: CU_1
database_catalogs:
my_catalog:
database_instance_name: my-instance
database_name: 'my_database'
name: my_catalog
create_database_if_not_exists: true
synced_database_tables:
my_synced_table:
name: ${resources.database_catalogs.my_catalog.name}.${resources.database_catalogs.my_catalog.database_name}.my_destination_table
database_instance_name: ${resources.database_catalogs.my_catalog.database_instance_name}
logical_database_name: ${resources.database_catalogs.my_catalog.database_name}
spec:
source_table_full_name: 'my_source_table'
scheduling_policy: SNAPSHOT
primary_key_columns:
- my_pk_column
new_pipeline_spec:
storage_catalog: 'my_delta_catalog'
storage_schema: 'my_delta_schema'

次の例では、標準カタログ内の同期されたデータベース テーブルを定義します。

YAML
resources:
synced_database_tables:
my_synced_table:
name: 'my_standard_catalog.public.synced_table'
# database_instance_name is required for synced tables created in standard catalogs.
database_instance_name: 'my-database-instance'
# logical_database_name is required for synced tables created in standard catalogs:
logical_database_name: ${resources.database_catalogs.my_catalog.database_name}
spec:
source_table_full_name: 'source_catalog.schema.table'
scheduling_policy: SNAPSHOT
primary_key_columns:
- my_pk_column
create_database_objects_if_missing: true
new_pipeline_spec:
storage_catalog: 'my_delta_catalog'
storage_schema: 'my_delta_schema'

この例では、同期されたデータベース テーブルを作成し、そのパイプライン スケジュールをカスタマイズします。すでに以下のものをお持ちであることを前提としています:

  • データベースインスタンスの名前 my-database-instance
  • 標準カタログ my_standard_catalog
  • 標準カタログのスキーマは default
  • 主キーを持つsource_delta.schema.customerという名前のソースデルタテーブル c_custkey
YAML
resources:
synced_database_tables:
my_synced_table:
name: 'my_standard_catalog.default.my_synced_table'
database_instance_name: 'my-database-instance'
logical_database_name: 'test_db'
spec:
source_table_full_name: 'source_delta.schema.customer'
scheduling_policy: SNAPSHOT
primary_key_columns:
- c_custkey
create_database_objects_if_missing: true
new_pipeline_spec:
storage_catalog: 'source_delta'
storage_schema: 'schema'

jobs:
sync_pipeline_schedule_job:
name: sync_pipeline_schedule_job
description: 'Job to schedule synced database table pipeline.'
tasks:
- task_key: synced-table-pipeline
pipeline_task:
pipeline_id: ${resources.synced_database_tables.my_synced_table.data_synchronization_status.pipeline_id}
schedule:
quartz_cron_expression: '0 0 0 * * ?'

ボリューム (Unity Catalog)

Type: Map

ボリューム リソースの種類を使用すると、Unity Catalog ボリューム をバンドルの一部として定義および作成できます。 ボリュームが定義されたバンドルをデプロイする場合は、次の点に注意してください。

  • ボリュームは、ワークスペースに存在するまで、バンドルの artifact_path で参照できません。 したがって、Databricks Asset Bundles を使用してボリュームを作成する場合は、まずバンドルでボリュームを定義し、それをデプロイしてボリュームを作成し、その後のデプロイで artifact_path で参照する必要があります。
  • バンドル内のボリュームは、デプロイメントターゲットがmode: development設定されている場合、dev_${workspace.current_user.short_name}プレフィックスが先頭に付けられません。ただし、このプレフィックスは手動で設定できます。 「カスタムプリセット」を参照してください。
YAML
volumes:
<volume-name>:
<volume-field-name>: <volume-field-value>

キー

タイプ

説明

catalog_name

文字列

スキーマとボリュームのカタログの名前。

comment

文字列

ボリュームに添付されたコメント。

grants

順序

ボリュームに関連付けられた許可。助成金を参照してください。

lifecycle

Map

リソースのライフサイクル設定が含まれます。リソースがデプロイまたは破棄されるときの動作を制御します。ライフサイクルを参照してください。

name

文字列

ボリュームの名前。

schema_name

文字列

ボリュームがあるスキーマの名前。

storage_location

文字列

クラウド上のストレージの場所。

volume_type

文字列

ボリューム・タイプ ( EXTERNAL または MANAGEDのいずれか)。外部ボリュームは、指定された外部ロケーションにあります。管理対象ボリュームは、親スキーマ、親カタログ、またはメタストアによって指定されたデフォルトの場所にあります。 「 管理対象ボリュームと外部ボリューム」を参照してください。

次の例では、キー my_volume_id( T ) を使用して Unity Catalog ボリュームを作成します。

YAML
resources:
volumes:
my_volume_id:
catalog_name: main
name: my_volume
schema_name: my_schema

Unity Catalog ボリューム内のファイルに書き込むジョブを実行するバンドルの例については、 bundle-examples GitHub リポジトリを参照してください。

共通オブジェクト

付与

Type: Map

プリンシパルと、そのプリンシパルに付与する権限を定義します。付与の詳細については、 「権限の表示、付与、取り消し」を参照してください。

キー

タイプ

説明

principal

文字列

権限が付与されるプリンシパルの名前。これは、ユーザー、グループ、またはサービスプリンシパルです。

privileges

順序

指定されたエンティティに付与する権限。有効な値はリソース タイプによって異なります (例: SELECTMODIFYCREATEUSAGEREAD_FILESWRITE_FILESEXECUTEALL_PRIVILEGES )。

次の例では、許可を使用して Unity Catalog スキーマを定義しています。

YAML
resources:
schemas:
my_schema:
name: test-schema
grants:
- principal: users
privileges:
- SELECT
- principal: my_team
privileges:
- CAN_MANAGE
catalog_name: main

ライフサイクル

Type: Map

リソースのライフサイクル設定が含まれます。リソースがデプロイまたは破棄されるときの動作を制御します。

キー

タイプ

説明

prevent_destroy

ブール値

リソースが破棄されないようにするためのライフサイクル設定。