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

LakeFlow 宣言型パイプライン イベント ログ スキーマ

Lakeflow 宣言型パイプライン イベント ログには、監査ログ、データ品質チェック、パイプラインの進行状況、データリネージなど、パイプラインに関連するすべての情報が含まれています。

次の表では、イベント ログ スキーマについて説明します。これらのフィールドの一部には、 details フィールドなどの一部のクエリを実行するために解析が必要な JSON データが含まれています。Databricks では、JSON フィールドを解析するための : 演算子がサポートされています。: (コロン記号) 演算子を参照してください。

注記

イベント ログの一部のフィールドは、Databricks による内部使用を目的としています。次のドキュメントでは、顧客が使用するフィールドについて説明します。

LakeFlow 宣言型パイプライン イベント ログの使用の詳細については、「宣言型パイプライン イベント ログLakeFlow」を参照してください。

PipelineEvent オブジェクト

イベント ログ内の 1 つのパイプライン イベントを表します。

フィールド

説明

id

イベント ログ レコードの一意の識別子。

sequence

イベントを識別して順序付けするためのメタデータを含む JSON 文字列。

origin

イベントの発信元のメタデータ (クラウド プロバイダー、クラウド プロバイダーのリージョン、ユーザー、パイプライン情報など) を含む JSON 文字列。「 Origin オブジェクト」を参照してください。

timestamp

イベントが記録された時刻 (UTC)。

message

イベントを説明する人間が読めるメッセージ。

level

警告レベル。可能な値は次のとおりです。

  • INFO: 情報イベント
  • WARN: 予期しないが、重大ではない問題
  • ERROR: ユーザーの注意が必要なイベントの失敗
  • METRICS: Delta テーブルにのみ格納され、パイプライン UI には表示されない大量のイベントに使用されます。

maturity_level

イベントスキーマの安定性。可能な値は次のとおりです。

  • STABLE: スキーマは安定しており、変更されません。
  • NULL: スキーマは安定しており、変更されません。maturity_level フィールドが追加される前にレコードが作成された場合、この値はNULLされる可能性があります (リリース 2022.37)。
  • EVOLVING: スキーマは安定しておらず、変更される可能性があります。
  • DEPRECATED: スキーマは非推奨であり、 LakeFlow Declarative パイプライン ランタイムはいつでもこのイベントの生成を停止する可能性があります。

EVOLVINGフィールドやDEPRECATEDフィールドに基づいてモニタリングやアラートを作成することはお勧めしません。

error

エラーが発生した場合は、エラーの詳細について説明します。

details

イベントの構造化された詳細を含む JSON 文字列。これは、イベントの分析に使用されるプライマリ フィールドです。JSON 文字列の形式は、 event_typeによって異なります。詳細については 、詳細オブジェクト を参照してください。

event_type

イベントの種類。イベントタイプの一覧と、イベントが作成する詳細オブジェクトの種類については、「 詳細オブジェクト」を参照してください。

詳細オブジェクト

各イベントには、イベントのevent_typeに基づいて、JSON オブジェクト内の異なるdetailsプロパティがあります。次の表に、 event_typeと関連する detailsを示します。detailsプロパティについては、「詳細タイプ」セクションで説明されています。

詳細タイプ event_type

説明

create_update

パイプラインの更新を開始するために使用される完全な構成をキャプチャします。Databricks によって設定された構成が含まれます。詳細については、「 create_updateの詳細」を参照してください。

user_action

パイプラインに対するユーザー アクション (パイプラインの作成、更新の開始またはキャンセルを含む) に関する詳細を提供します。詳細については、「 user_actionイベントの詳細」を参照してください。

flow_progress

開始、実行、完了または失敗までのフローのライフサイクルについて説明します。詳細については、「 flow_progressイベントの詳細」を参照してください。

update_progress

パイプライン更新の開始、実行、完了、または失敗までのライフサイクルについて説明します。詳細については、「 update_progressイベントの詳細」を参照してください。

flow_definition

特定のフローで発生する変換のスキーマとクエリ プランを定義します。は、Dataflow DAG のエッジと考えることができます。フローごとのリネージの計算や、説明されたクエリプランの表示に使用できます。 詳細は、 イベントの詳細flow_definitionを参照してください。

dataset_definition

特定のフローのソースまたは宛先であるデータセットを定義します。詳細については、「 dataset_definitionイベントの詳細」を参照してください。

sink_definition

特定のシンクを定義します。詳細については、「 sink_definitionイベントの詳細」を参照してください。

deprecation

このパイプラインで使用される、間もなく非推奨になる、または現在非推奨になる機能を一覧表示します。値の例については、「 非推奨イベントの詳細列挙型」を参照してください。

cluster_resources

クラシックコンピュートで実行されているパイプラインのクラスタリングリソースに関する情報が含まれています。 これらのメトリクスは、クラシックなコンピュート パイプラインにのみ入力されています。 詳細については、「 イベントの詳細」cluster_resourcesを参照してください。

autoscale

クラシックコンピュートで動作しているパイプラインのオートスケールに関する情報が含まれています。 これらのメトリクスは、クラシックなコンピュート パイプラインにのみ入力されています。 詳細は、 オートスケールイベントの詳細を参照してください。

planning_information

マテリアライズドビュー incremental vs. full 更新に関連する計画情報を表します。 マテリアライズドビューが完全に再計算される理由の詳細を取得するために使用できます。詳細については、「 イベントの詳細」planning_informationを参照してください。

hook_progress

パイプライン実行中のユーザーフックの現在の状態を示すイベント。に使用 モニタリング イベントフックのステータス、たとえば、外部のオブザーバビリティ製品に送信します。 詳細については、「 hook_progressイベントの詳細」を参照してください。

operation_progress

操作の進行状況に関する情報が含まれます。詳細については、「 operation_progressイベントの詳細」を参照してください。

stream_progress

パイプラインの進行状況に関する情報が含まれます。詳細については、「 stream_progressイベントの詳細」を参照してください。

詳細タイプ

次のオブジェクトは、PipelineEvent オブジェクト内の異なるイベントの種類のdetailsを表します。

create_updateの詳細

create_updateイベントの詳細。

フィールド

説明

dbr_version

Databricks Runtime のバージョン。

run_as

更新が代わりに実行されるユーザー ID。通常、これはパイプラインの所有者またはサービスプリンシパルのいずれかです。

cause

更新の理由。通常、ジョブから実行する場合は JOB_TASK 、またはユーザーが対話的に実行する場合は USER_ACTION のいずれかです。

イベントの詳細user_action

user_actionイベントの詳細。次のフィールドが含まれます。

フィールド

説明

user_name

パイプラインの更新をトリガーしたユーザーの名前。

user_id

パイプラインの更新をトリガーしたユーザーの ID。これは、サービスプリンシパルまたは他のユーザーである可能性のある run_as ユーザーと必ずしも同じではありません。

action

ユーザーが実行したアクション ( STARTCREATEを含む)。

イベントの詳細flow_progress

flow_progressイベントの詳細。

フィールド

説明

status

フローの新しいステータス。次のいずれかになります。

  • QUEUED
  • STARTING
  • RUNNING
  • COMPLETED
  • FAILED
  • SKIPPED
  • STOPPED
  • IDLE
  • EXCLUDED

metrics

メトリクスの流れについて。 詳細については、「 FlowMetrics」を参照してください。

data_quality

データ品質 フローと関連する期待値に関する メトリクス。 詳細については、「 DataQualityMetrics」を参照してください。

イベントの詳細update_progress

update_progress イベントの詳細。

フィールド

説明

state

更新プログラムの新しい状態。次のいずれかになります。

  • QUEUED
  • CREATED
  • WAITING_FOR_RESOURCES
  • INITIALIZING
  • RESETTING
  • SETTING_UP_TABLES
  • RUNNING
  • STOPPING
  • COMPLETED
  • FAILED
  • CANCELED

たとえば、パイプライン更新のさまざまな段階の期間を、合計期間からリソースの待機に費やされた時間まで計算するのに役立ちます。

cancellation_cause

アップデートが CANCELED 状態になった理由。USER_ACTIONWORKFLOW_CANCELLATION (更新をトリガーしたワークフローがキャンセルされた) などの理由が含まれます。

イベントの詳細flow_definition

flow_definitionイベントの詳細。

フィールド

説明

input_datasets

このフローによって読み取られる入力。

output_dataset

このフローが書き込む出力データセット。

output_sink

このフローが書き込む出力シンク。

explain_text

説明されているクエリ プラン。

schema_json

Spark SQL JSON スキーマ文字列。

schema

このフローのスキーマ。

flow_type

フローのタイプ。次のいずれかになります。

  • COMPLETE: ストリーミングテーブルは、完全 (ストリーミング) モードで宛先に書き込みます。

  • CHANGE: APPLY_CHANGES_INTOを使用したストリーミングテーブル。

  • SNAPSHOT_CHANGE: APPLY CHANGES INTO ... FROM SNAPSHOT ...を使用したストリーミングテーブル。

  • APPEND: ストリーミングテーブルは、追加 (ストリーミング) モードで宛先に書き込みます。

  • MATERIALIZED_VIEW: マテリアライズドビューに出力します。

  • VIEW: ビューに出力します。

comment

データセットに関するユーザーのコメントまたは説明。

spark_conf

このフローに設定された Spark confs。

language

このフローの作成に使用された言語。SCALAPYTHON、またはSQLです。

once

このフローが一度実行するように宣言されたかどうか。

dataset_definitionイベントの詳細

dataset_definitionイベントの詳細。次のフィールドが含まれます。

フィールド

説明

dataset_type

マテリアライズドビューとストリーミングテーブルを区別します。

num_flows

データセットに書き込むフローの数。

expectations

データセットに関連付けられた期待値。

イベントの詳細sink_definition

sink_definitionイベントの詳細。

フィールド

説明

format

シンクの形式。

options

シンクに関連付けられているキーと値のオプション。

非推奨イベントの詳細列挙型

deprecationイベントにはmessageフィールドがあります。messageに指定できる値は次のとおりです。これは、時間の経過とともに増加する部分的なリストです。

フィールド

説明

TABLE_MANAGED_BY_MULTIPLE_PIPELINES

テーブルは複数のパイプラインによって管理されます。

INVALID_CLUSTER_LABELS

サポートされていないクラスタリング ラベルの使用。

PINNED_DBR_VERSION

パイプライン設定でchannelの代わりにdbr_versionを使用する。

PREVIOUS_CHANNEL_USED

リリースチャンネル PREVIOUSを使用する 、これは将来のリリースで廃止される可能性があります。

LONG_DATASET_NAME

サポートされる長さよりも長いデータ・セット名を使用します。

LONG_SINK_NAME

サポートされている長さよりも長いシンク名を使用します。

LONG_FLOW_NAME

サポートされている長さよりも長いフロー名を使用します。

ENHANCED_AUTOSCALING_POLICY_COMPLIANCE

クラスターポリシーは、拡張オートスケールが固定クラスタリングサイズを使用する場合にのみ準拠します。

DATA_SAMPLE_CONFIGURATION_KEY

構成キーを使用してデータ サンプリングを構成することは非推奨です。

INCOMPATIBLE_CLUSTER_SETTINGS

現在のクラスタリング設定またはクラスターポリシーは、宣言型パイプラインと互換性 LakeFlow なくなりました。

STREAMING_READER_OPTIONS_DROPPED

削除されたストリーミング リーダー オプションの使用。

DISALLOWED_SERVERLESS_STATIC_SPARK_CONFIG

サーバレス パイプラインのパイプライン設定による静的 Spark 設定は許可されていません。

INVALID_SERVERLESS_PIPELINE_CONFIG

サーバレス 顧客が無効なパイプライン設定を提供します。

UNUSED_EXPLICIT_PATH_ON_UC_MANAGED_TABLE

UC マネージドテーブルで未使用の明示的なテーブルパスを指定します。

FOREACH_BATCH_FUNCTION_NOT_SERIALIZABLE

提供されているforeachBatch関数はシリアル化できません。

DROP_PARTITION_COLS_NO_PARTITIONING

partition_cols属性を削除しても、パーティションは行われません。

PYTHON_CREATE_TABLE

@dlt.create_table の使用@dlt.table の代わりに。

PYTHON_CREATE_VIEW

@dlt.create_viewの使用@dlt.viewの代わりに。

PYTHON_CREATE_STREAMING_LIVE_TABLE

create_streaming_tableの代わりにcreate_streaming_live_tableを使用する。

PYTHON_CREATE_TARGET_TABLE

create_streaming_tableの代わりにcreate_target_tableを使用する。

FOREIGN_KEY_TABLE_CONSTRAINT_CYCLE

パイプラインによって管理されるテーブルのセットには、外部キー制約のセットにサイクルがあります。

PARTIALLY_QUALIFIED_TABLE_REFERENCE_INCOMPATIBLE_WITH_DEFAULT_PUBLISHING_MODE

デフォルトの公開モードと従来の公開モードで異なる意味を持つ部分修飾されたテーブル参照。

イベントの詳細cluster_resources

cluster_resourcesイベントの詳細。クラシックコンピュートで実行されているパイプラインにのみ適用されます。

フィールド

説明

task_slot_metrics

タスクスロット メトリクス クラスタリング. 詳細については、「TaskSlotMetrics オブジェクト」を参照してください

autoscale_info

オートスケーラーの状態。詳細については、「AutoscaleInfo オブジェクト」を参照してください

オートスケールイベントの詳細

autoscale イベントの詳細。オートスケールイベントは、パイプラインがクラシックコンピュートを使用している場合にのみ適用されます。

フィールド

説明

status

このイベントのステータス。次のいずれかになります。

  • SUCCEEDED
  • RESIZING
  • FAILED
  • PARTIALLY_SUCCEEDED

optimal_num_executors

min_workersmax_workersの境界を適用する前にアルゴリズムによって提案された最適なエグゼキューターの数。

requested_num_executors

アルゴリズムによって提案された最適な数のエグゼキューターを min_workers および max_workers 境界に切り捨てた後のエグゼキューターの数。

イベントの詳細planning_information

planning_informationイベントの詳細。更新中に特定のフローに対して選択した更新タイプに関連する詳細を表示するのに役立ちます。更新プログラムが増分更新されるのではなく、完全に更新される理由をデバッグするために使用できます。増分更新の詳細については、「マテリアライズドビューの増分更新」を参照してください。

フィールド

説明

technique_information

更新関連情報。これには、選択した更新方法と、検討された可能な更新方法の両方に関する情報が含まれています。マテリアライズドビューがインクリメンタライズに失敗した理由をデバッグするのに役立ちます。詳細については、「 TechniqueInformation」を参照してください。

source_table_information

ソーステーブル情報。マテリアライズドビューがインクリメンタル化に失敗した理由をデバッグするのに役立ちます。詳細については、「 TableInformation オブジェクト」を参照してください

target_table_information

ターゲット表情報。詳細については、「 TableInformation オブジェクト」を参照してください

イベントの詳細hook_progress

hook_progressイベントの詳細。次のフィールドが含まれます。

フィールド

説明

name

ユーザーフックの名前。

status

ユーザーフックのステータス。

イベントの詳細operation_progress

operation_progressイベントの詳細。次のフィールドが含まれます。

フィールド

説明

type

追跡対象の操作の種類。次のいずれか:

  • AUTO_LOADER_LISTING
  • AUTO_LOADER_BACKFILL
  • CONNECTOR_FETCH
  • CDC_SNAPSHOT

status

操作の状態。次のいずれか:

  • STARTED
  • COMPLETED
  • CANCELED
  • FAILED
  • IN_PROGRESS

duration_ms

操作の合計経過時間 (ミリ秒単位)。終了イベントにのみ含まれます (ステータスが COMPLETEDCANCELED、または FAILEDの場合)。

イベントの詳細stream_progress

備考

プレビュー

この機能は パブリック プレビュー段階です。

stream_progressイベントの詳細。次のフィールドが含まれます。

フィールド

説明

stream_progress

パイプライン・ストリームの詳細。構造化ストリーミングの StreamingQueryListener メトリクスに似ています。

違いについては、次の段落で説明します。StreamingQueryListenerメトリクスの詳細については、「StreamingQueryListener オブジェクトメトリクス」を参照してください。

stream_progressStreamingQueryListenerオブジェクトの違い メトリクス:

  • 次のメトリクスは StreamingQueryListenerには存在しますが、 stream_progressには存在しません: numInputRowsinputRowsPerSecond、および processedRowsPerSecond
  • Kafka ストリームと Kineses ストリームの場合、 startOffsetendOffset、および latestOffset フィールドが大きすぎる可能性があり、切り捨てられます。これらの各フィールドに対して、データが切り捨てられるかどうかのBoolean値とともに、startOffsetTruncatedendOffsetTruncated、および ...Truncated``latestOffsetTruncatedフィールドが追加されます。

その他のオブジェクト

次のオブジェクトは、イベント オブジェクト内の追加データまたは列挙型を表します。

AutoscaleInfo オブジェクト

オートスケール メトリクス クラスタリング用。 クラシックコンピュートで実行されているパイプラインにのみ適用されます。

フィールド

説明

state

オートスケールのステータス。 次のいずれかになります。

  • SUCCEEDED
  • RESIZING
  • FAILED
  • PARTIALLY_SUCCEEDED

optimal_num_executors

エグゼキューターの最適な数。これは、ユーザーが指定した最小/最大エグゼキューター数によって切り捨てられる前に、アルゴリズムによって提案される最適なサイズです。

latest_requested_num_executors

最新の要求で状態マネージャがクラスタリングマネージャに要求したエグゼキューターの数。 これは、状態マネージャーがスケーリングしようとしているエグゼキューターの数であり、タイムアウトが発生した場合に状態マネージャーがスケーリング状態を終了しようとすると更新されます。 保留中の要求がない場合、このフィールドは入力されません。

request_pending_seconds

スケーリング要求が保留中の時間の長さ。保留中の要求がない場合、これは入力されません。

CostModelRejectionSubType オブジェクト

planning_information イベントでの完全更新と増分更新のコストに基づいて、増分化が拒否される理由の列挙型。

Value

説明

NUM_JOINS_THRESHOLD_EXCEEDED

クエリに含まれる結合が多すぎるため、完全に更新します。

CHANGESET_SIZE_THRESHOLD_EXCEEDED

変更された基本テーブルの行が多すぎるため、完全に更新します。

TABLE_SIZE_THRESHOLD_EXCEEDED

ベーステーブルのサイズがしきい値を超えたため、完全に更新します。

EXCESSIVE_OPERATOR_NESTING

クエリ定義が複雑で、演算子の入れ子のレベルが多数あるため、完全に更新します。

COST_MODEL_REJECTION_SUB_TYPE_UNSPECIFIED

その他の理由で完全に更新します。

DataQualityMetrics オブジェクト

メトリクス フロー内で期待がどのように満たされているかについて。 イベントの詳細 flow_progress で使用されます。

フィールド

説明

dropped_records

1 つ以上のエクスペクテーション基準を満たなかったたために削除されたレコードの数。

expectations

メトリクス フローのクエリプランのデータセットに追加された期待値。 複数の期待がある場合、これを使用して、どの期待が満たされたか、または満たされなかったかを追跡できます。詳細については、「 ExpectationMetrics オブジェクト」を参照してください。

ExpectationMetrics オブジェクト

メトリクス 期待について、特定の期待のために。

フィールド

説明

name

期待値の名前。

dataset

期待値が追加されたデータセットの名前。

passed_records

期待値を超えるレコードの数。

failed_records

期待に失敗したレコードの数。期待が満たされたかどうかを追跡しますが、レコードに何が起こるか (警告、失敗、またはレコードの削除) は記述しません。

FlowMetrics オブジェクト

メトリクス フローに関する 合計 と 特定のソース別 の 分割 。 イベントの詳細 flow_progress で使用されます。

各ストリーミング ソースは、特定のフロー メトリクスのみをサポートします。 次の表は、サポートされているストリーミングソースで使用できるメトリクスを示しています。

source

バックログ バイト

バックログ レコード

バックログ秒数

バックログ ファイル

Kafka

Kinesis

Delta

Auto Loader

Google Pub/Sub

フィールド

説明

num_output_rows

このフローの更新によって書き込まれた出力行の数。

backlog_bytes

フロー内のすべての入力ソースの合計バックログをバイト単位で計算します。

backlog_records

フロー内のすべての入力ソースにわたるバックログ レコードの合計。

backlog_files

フロー内のすべての入力ソースにわたるバックログ ファイルの合計。

backlog_seconds

フロー内のすべての入力ソースの最大バックログ秒数。

executor_time_ms

レポート期間中のこのフローのすべてのタスク実行時間の合計 (ミリ秒単位)。

executor_cpu_time_ms

レポート期間中のこのフローのすべてのタスク実行 CPU 時間の合計 (ミリ秒単位)。

num_upserted_rows

このフローの更新によってデータセットに更新挿入された出力行の数。

num_deleted_rows

このフローの更新によってデータセットから削除された既存の出力行の数。

num_output_bytes

このフローの更新によって書き込まれた出力バイト数。

source_metrics

フロー内の各入力ソースのメトリクス。監視 取り込みの進行状況 ソース 外部 LakeFlow 宣言型パイプライン ( Apache Kafka、 Pulsar、 Auto Loaderなど )。 次のフィールドが含まれます。

  • source_name: ソースの名前。
  • backlog_bytes: このソースのバイトとしてのバックログ。
  • backlog_records: このソースのバックログ レコード。
  • backlog_files: このソースのバックログ ファイル。
  • backlog_seconds: このソースのバックログ秒数。

IncrementalizationIssue オブジェクト

更新の計画時に完全な更新を引き起こす可能性のある増分化の問題を表します。

フィールド

説明

issue_type

マテリアライズドビューがインクリメンタライズされない可能性がある課題タイプ。 詳細については、「 課題タイプ」を参照してください。

prevent_incrementalization

この問題により増分化が妨げられたかどうか。

table_information

CDF_UNAVAILABLEINPUT_NOT_IN_DELTADATA_FILE_MISSINGなどの問題に関連するテーブル情報。

operator_name

プラン関連情報。課題タイプが、非決定性または非増分可能性を引き起こす演算子または式に PLAN_NOT_DETERMINISTIC または PLAN_NOT_INCREMENTALIZABLE である場合に設定します。

expression_name

式名。

join_type

演算子が結合である場合の補助情報。たとえば、 JOIN_TYPE_LEFT_OUTERJOIN_TYPE_INNERなどです。

plan_not_incrementalizable_sub_type

課題タイプが PLAN_NOT_INCREMENTALIZABLEの場合の詳細カテゴリ。詳細については、「 PlanNotIncrementalizableSubType オブジェクト」を参照してください。

plan_not_deterministic_sub_type

課題タイプが PLAN_NOT_DETERMINISTICの場合の詳細カテゴリ。詳細については、「 PlanNotDeterministicSubType オブジェクト」を参照してください。

fingerprint_diff_before

前の指紋との差分。

fingerprint_diff_current

現在のフィンガープリントからの差分。

cost_model_rejection_subtype

課題タイプが INCREMENTAL_PLAN_REJECTED_BY_COST_MODELの場合の詳細カテゴリ。詳細については、「 CostModelRejectionSubType オブジェクト」を参照してください。

IssueType オブジェクト

完全な更新を引き起こす可能性のある問題タイプの列挙型。

Value

説明

CDF_UNAVAILABLE

CDF (チェンジデータフィード) は、一部のベーステーブルでは有効になっていません。 table_information フィールドには、CDF が有効になっていないテーブルに関する情報が表示されます。ALTER TABLE <table-name> SET TBLPROPERTIES ( 'delta.enableChangeDataFeed' = true)を使用して、ベース表の CDF を有効にします。ソーステーブルがマテリアライズドビューの場合、CDF はデフォルトで ON に設定する必要があります。

DELTA_PROTOCOL_CHANGED

一部の基本表 ( table_information フィールドの詳細) に Delta プロトコルの変更があったため、完全に更新します。

DATA_SCHEMA_CHANGED

一部のベース表 ( table_information フィールドの詳細) で、マテリアライズドビュー定義で使用される列のデータスキーマが変更されたため、完全に更新します。マテリアライズドビューが使用しない列が変更されたり、ベーステーブルに追加されたりした場合は関係ありません。

PARTITION_SCHEMA_CHANGED

一部の基本表 ( table_information フィールドの詳細) でパーティションスキーマが変更されたため、完全に更新されます。

INPUT_NOT_IN_DELTA

マテリアライズドビュー定義には Delta 以外の入力が含まれるため、完全に更新します。

DATA_FILE_MISSING

一部のベーステーブルファイルは、保持期間のためにすでに vacuum されているため、完全に更新します。

PLAN_NOT_DETERMINISTIC

マテリアライズドビュー定義の一部の演算子または式は決定論的ではないため、完全に更新します。operator_name フィールドと expression_name フィールドには、問題の原因となった演算子または式に関する情報が表示されます。

PLAN_NOT_INCREMENTALIZABLE

マテリアライズドビュー定義の一部の演算子または式は増分できないため、完全に更新します。

SERIALIZATION_VERSION_CHANGED

クエリ フィンガープリンティング ロジックに大幅な変更があったため、完全に更新します。

QUERY_FINGERPRINT_CHANGED

マテリアライズドビュー定義が変更されたか、宣言型パイプラインのリリースが LakeFlow クエリ評価計画に変更されたため、完全に更新されました。

CONFIGURATION_CHANGED

クエリ評価に影響を与える可能性のある主要な構成 ( spark.sql.ansi.enabledなど) が変更されたため、完全に更新します。マテリアライズドビューで一貫性のない状態を回避するには、完全な再計算が必要です。

CHANGE_SET_MISSING

マテリアライズドビューの最初のコンピュートなので、完全に更新しました。 これは、最初のマテリアライズドビューの計算で予期される動作です。

EXPECTATIONS_NOT_SUPPORTED

マテリアライズドビュー定義には、増分更新ではサポートされていない期待値が含まれているため、完全に更新します。 増分サポートが必要な場合は、期待を削除するか、マテリアライズドビュー定義の外部で処理します。

TOO_MANY_FILE_ACTIONS

ファイル・アクションの数が増分処理のしきい値を超えたため、完全に更新しました。 ベース表のファイルチャーンを減らすか、しきい値を増やすことを検討してください。

INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL

コストモデルでは、増分メンテナンスよりも完全更新の方が効率的であると判断されたため、完全更新。コスト モデルの動作またはクエリ プランの複雑さを確認して、増分更新を許可します。

ROW_TRACKING_NOT_ENABLED

追跡 が 1 つ以上のベース テーブルで有効になっていないため、完全に更新します。ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableRowTracking' = true)を使用して行追跡を有効にします。

TOO_MANY_PARTITIONS_CHANGED

ベーステーブルで変更されたパーティションが多すぎるため、完全に更新します。区画変更の数を制限して、増分処理の制限内に収まるようにしてください。

MAP_TYPE_NOT_SUPPORTED

マテリアライズドビュー定義にはマップタイプが含まれているため、増分更新ではサポートされていないため、完全に更新します。 マテリアライズドビューのマップ型を回避するために、データの再構築を検討してください。

TIME_ZONE_CHANGED

セッションまたはシステム タイム ゾーンの設定が変更されたため、完全に更新されます。

DATA_HAS_CHANGED

マテリアライズドビューに関連するデータが増分更新を妨げるように変更されたため、完全に更新します。ビュー定義のデータ変更と構造を評価して、増分ロジックとの互換性を確認します。

PRIOR_TIMESTAMP_MISSING

最後に成功した実行のタイムスタンプがないため、完全に更新します。これは、メタデータの損失または手動介入の後に発生する可能性があります。

MaintenanceType オブジェクト

planning_informationイベント中に選択できるメンテナンスタイプの列挙型。タイプが MAINTENANCE_TYPE_COMPLETE_RECOMPUTE または MAINTENANCE_TYPE_NO_OPでない場合、タイプは増分更新です。

Value

説明

MAINTENANCE_TYPE_COMPLETE_RECOMPUTE

完全な再計算。常に表示されます。

MAINTENANCE_TYPE_NO_OP

ベーステーブルが変更されない場合。

MAINTENANCE_TYPE_PARTITION_OVERWRITE

マテリアライズドビューがソーステーブルの 1 つと共同パーティション化されている場合、影響を受けるパーティションを段階的に更新します。

MAINTENANCE_TYPE_ROW_BASED

JOINFILTERUNION ALL, などのさまざまな操作のモジュラー変更セットを作成し、それらを構成して複雑なクエリを計算することで、段階的に更新します。ソース テーブルの 行追跡 が有効で、クエリの結合数が制限されている場合に使用されます。

MAINTENANCE_TYPE_APPEND_ONLY

ソース表に更新部分や削除がなかったため、新しい行のみを計算して増分更新します。

MAINTENANCE_TYPE_GROUP_AGGREGATE

各集計値の変更を計算して、増分更新します。countsummeanstddevなどの連想集計がクエリの最上位レベルにある場合に使用されます。

MAINTENANCE_TYPE_GENERIC_AGGREGATE

影響を受ける集計グループのみを計算して、増分更新します。median などの集計 (連想集計だけでなく) がクエリの最上位レベルにある場合に使用されます。

MAINTENANCE_TYPE_WINDOW_FUNCTION

変更されたパーティションのみを再計算することで、 PARTITION BY などのウィンドウ関数を使用してクエリを段階的に更新します。すべてのウィンドウ関数に PARTITION BY 句または JOIN 句があり、クエリの最上位レベルにある場合に使用されます。

Origin オブジェクト

イベントが発生した場所。

フィールド

説明

cloud

クラウドプロバイダー。可能な値は次のとおりです。

  • AWS
  • Azure
  • GCP

region

クラウドリージョン。

org_id

ユーザーの組織 ID またはワークスペース ID。クラウド内でユニーク。ワークスペースを識別したり、システム課金テーブルなどの他のテーブルと結合したりするのに役立ちます。

pipeline_id

パイプラインの ID。パイプラインの一意の識別子。パイプラインを識別したり、システム課金テーブルなどの他のテーブルと結合したりするのに役立ちます。

pipeline_type

パイプラインが作成された場所を示すパイプラインのタイプ。可能な値は次のとおりです。

  • DBSQL: Databricks SQL を使用して作成されたパイプライン。
  • WORKSPACE: 宣言型パイプラインを介して作成された ETL パイプライン LakeFlow 。
  • MANAGED_INGESTION: LakeFlow Connect 管理された取り込みパイプライン。
  • BRICKSTORE: オンラインテーブルを更新するためのパイプライン リアルタイム Feature Serving。
  • BRICKINDEX: ベクターデータベースを更新するためのパイプライン。詳細については、「 ベクトル検索」を参照してください。

pipeline_name

パイプラインの名前。

cluster_id

実行が行われるクラスタリングの ID。 世界的にユニーク。

update_id

パイプラインの 1 回の実行の ID。これは実行 ID と同等です。

table_name

書き込まれる (Delta) テーブルの名前。

dataset_name

データセットの完全修飾名。

sink_name

シンクの名前。

flow_id

フローの ID。複数の更新で使用されているフローの状態を追跡します。flow_idが同じである限り、流れは徐々にリフレッシュされます。flow_idは、マテリアライズドビューが完全に更新されるか、チェックポイントがリセットされるか、またはマテリアライズドビュー内で完全な再計算が行われると変更されます。

flow_name

フローの名前。

batch_id

マイクロバッチの ID。フロー内で一意。

request_id

更新の原因となった要求の ID。

PlanNotDeterministicSubType オブジェクト

planning_informationイベントの非決定論的ケースの列挙型。

Value

説明

STREAMING_SOURCE

マテリアライズドビュー定義にはストリーミングソースが含まれているため、完全に更新しますが、これはサポートされていません。

USER_DEFINED_FUNCTION

マテリアライズドビューにはサポートされていないユーザー定義関数が含まれているため、完全に更新します。決定論的な Python UDF のみがサポートされます。他の UDF では、増分更新が妨げられる場合があります。

TIME_FUNCTION

マテリアライズドビューには、 CURRENT_DATECURRENT_TIMESTAMPなどの時間ベースの関数が含まれているため、完全に更新します。expression_name プロパティは、サポートされていない関数の名前を提供します。

NON_DETERMINISTIC_EXPRESSION

クエリには RANDOM()などの非決定論的な式が含まれているため、完全に更新します。expression_name プロパティは、増分メンテナンスを妨げる非決定論的関数を示します。

PlanNotIncrementalizableSubType オブジェクト

更新計画が増分できない理由の列挙型。

Value

説明

OPERATOR_NOT_SUPPORTED

クエリ プランにはサポートされていない演算子が含まれているため、完全に更新します。operator_name プロパティは、サポートされていない演算子の名前を提供します。

AGGREGATE_NOT_TOP_NODE

集計 (GROUP BY) 演算子がクエリ プランの最上位レベルにないため、完全に更新します。増分メンテナンスでは、最上位レベルの集計のみがサポートされます。2 つのマテリアライズドビューを定義して、集計を分離することを検討してください。

AGGREGATE_WITH_DISTINCT

集計には増分更新ではサポートされていない DISTINCT 句が含まれているため、完全に更新します。

AGGREGATE_WITH_UNSUPPORTED_EXPRESSION

集計にはサポートされていない式が含まれているため、完全に更新します。expression_name プロパティは、問題のある式を示します。

SUBQUERY_EXPRESSION

マテリアライズドビュー定義にはサポートされていないサブクエリ式が含まれているため、完全に更新します。

WINDOW_FUNCTION_NOT_TOP_LEVEL

ウィンドウ関数がクエリ プランの最上位レベルにないため、完全に更新します。

WINDOW_FUNCTION_WITHOUT_PARTITION_BY

ウィンドウ関数は PARTITION BY 句なしで定義されているため、完全に更新します。

TableInformation オブジェクト

planning_information イベント中に考慮されるテーブルの詳細を表します。

フィールド

説明

table_name

Unity Catalog または Hive metastoreからのクエリで使用されるテーブル名。パスベースのアクセスの場合は使用できない場合があります。

table_id

必須。Deltaログのテーブル ID。

catalog_table_type

カタログで指定されているテーブルのタイプ。

partition_columns

テーブルの列をパーティション化します。

table_change_type

テーブルのタイプを変更します。次のいずれか: TABLE_CHANGE_TYPE_UNKNOWNTABLE_CHANGE_TYPE_APPEND_ONLYTABLE_CHANGE_TYPE_GENERAL_CHANGE

full_size

テーブルのフルサイズ (バイト数)。

change_size

変更されたファイルで変更された行のサイズ。change_file_read_size * num_changed_rows / num_rows_in_changed_filesを使用して計算されます。

num_changed_partitions

変更されたパーティションの数。

is_size_after_pruning

full_sizechange_sizeが静的ファイルのプルーニング後のデータを表すかどうか。

is_row_id_enabled

テーブルで行 ID が有効になっているかどうか。

is_cdf_enabled

テーブルで CDF が有効になっているかどうか。

is_deletion_vector_enabled

テーブルで削除ベクトルが有効になっているかどうか。

is_change_from_legacy_cdf

テーブルの変更がレガシー CDF からのものか、行 ID ベースの CDF からのものか。

TaskSlotMetrics オブジェクト

タスクスロット メトリクス クラスタリング用。 クラシックコンピュートで実行されているパイプラインアップデートにのみ適用されます。

フィールド

説明

summary_duration_ms

集合メトリクス (たとえば、 avg_num_task_slots) が計算される期間 (ミリ秒単位)。

num_task_slots

レポートインスタントでの Spark タスクスロットの数。

avg_num_task_slots

サマリー期間における Spark タスクスロットの平均数。

avg_task_slot_utilization

平均タスクスロット使用率 (アクティブなタスクの数をタスクスロットの数で割った値) の概要期間。

num_executors

レポートの瞬間の Spark エグゼキューターの数。

avg_num_queued_tasks

要約期間における平均タスク キュー サイズ (タスクの合計数からアクティブなタスクの数を差し引いた数)。

TechniqueInformation オブジェクト

計画イベントの方法論情報を更新します。

フィールド

説明

maintenance_type

この情報に関連するメンテナンスの種類。

タイプが MAINTENANCE_TYPE_COMPLETE_RECOMPUTE または MAINTENANCE_TYPE_NO_OPでない場合、フローは段階的に更新されます。

詳細については、「 MaintenanceType オブジェクト」を参照してください。

is_chosen

更新に選択された手法に当てはまります。

is_applicable

メンテナンスタイプが適用可能かどうか。

incrementalization_issues

更新プログラムが完全に更新される可能性がある増分の問題。詳細については、「 IncrementalizationIssue オブジェクト」を参照してください。

change_set_information

最終的に生成された変更セットに関する情報。値は次のいずれかです。

  • CHANGE_SET_TYPE_APPEND_ONLY
  • CHANGE_SET_TYPE_GENERAL_ROW_CHANGE