Compartir a través de


Esquema del registro de eventos de canalización

El registro de eventos de canalización contiene toda la información relacionada con una canalización, incluidos los registros de auditoría, las comprobaciones de calidad de los datos, el progreso de la canalización y el linaje de datos.

En las tablas siguientes se describe el esquema del registro de eventos. Algunos de estos campos contienen datos JSON que requieren análisis para realizar algunas consultas, como el campo details. Azure Databricks admite el operador : para analizar campos JSON. Consulte : (signo de dos puntos) operador .

Nota:

Algunos campos del registro de eventos son para uso interno de Azure Databricks. En la documentación siguiente se describen los campos destinados al uso de los usuarios.

Para más información sobre el uso del registro de eventos de canalización, consulte Registro de eventos de canalización.

objeto PipelineEvent

Representa un único evento de canalización en el registro de eventos.

Campo Description
id Un identificador único para el registro de eventos.
sequence Cadena JSON que contiene metadatos para identificar y ordenar eventos.
origin Cadena JSON que contiene metadatos para el origen del evento, por ejemplo, el proveedor de nube, la región del proveedor de nube, el usuario y la información de canalización. Vea Origin object.
timestamp Hora en que se registró el evento, en UTC.
message Mensaje en lenguaje natural que describe el evento.
level Nivel de advertencia. Los valores posibles son:
  • INFO: eventos informativos
  • WARN: problemas inesperados, pero no críticos
  • ERROR: error de evento que podría necesitar atención del usuario.
  • METRICS: se usa para eventos de gran volumen almacenados solo en la tabla Delta y no se muestra en la interfaz de usuario de canalizaciones.
maturity_level Estabilidad del esquema de eventos. Los valores posibles son:
  • STABLE: el esquema es estable y no cambiará.
  • NULL: el esquema es estable y no cambiará. El valor podría ser NULL si el registro se creó antes de agregar el maturity_level campo (versión 2022.37).
  • EVOLVING: el esquema no es estable y puede cambiar.
  • DEPRECATED: el esquema está en desuso y el entorno de ejecución de canalizaciones declarativas de Spark de Lakeflow podría dejar de producir este evento en cualquier momento.

No se recomienda crear monitoreo o alertas basadas en campos EVOLVING o DEPRECATED.
error Detalles que describen un error, si se ha producido.
details Cadena JSON que contiene detalles estructurados del evento. Este es el campo principal que se usa para analizar eventos. El formato de cadena JSON depende de event_type. Consulte El objeto details para obtener más información.
event_type El tipo de evento. Para obtener una lista de tipos de eventos y qué tipo de objeto de detalles crean, vea El objeto details.

El objeto de detalles

Cada evento tiene diferentes propiedades de details en el objeto JSON, basadas en event_type del evento. En esta tabla se enumeran event_type, y el asociado details. Las details propiedades se describen en la sección Tipos de detalles .

Tipo de detalles según event_type Description
create_update Captura la configuración completa que se usa para iniciar una actualización de canalización. Incluye cualquier configuración establecida por Databricks. Para obtener más información, consulte Detalles de create_update.
user_action Proporciona detalles sobre cualquier acción de usuario en la canalización (incluida la creación de una canalización, así como el inicio o la cancelación de una actualización). Para obtener más información, consulte Detalles del evento user_action.
flow_progress Describe el ciclo de vida de un flujo desde que se inicia y se ejecuta, hasta que se completa o falla. Para obtener más información, consulte Detalles del evento flow_progress.
update_progress Describe el ciclo de vida de una actualización de canalización desde el inicio, la ejecución, la finalización o el error. Para obtener más información, consulte Detalles del evento update_progress.
flow_definition Define el esquema y el plan de consulta para cualquier transformación que se produzca en un flujo determinado. Se puede considerar como los bordes del DAG de flujo de datos. Se puede usar para calcular el linaje de cada flujo, así como para ver el plan de consulta explicado. Para obtener más información, consulte Detalles del evento flow_definition.
dataset_definition Define un conjunto de datos, que es el origen o el destino de un flujo determinado. Para obtener más información, consulte Detalles del evento dataset_definition.
sink_definition Define un receptor determinado. Para obtener más información, consulte Detalles del evento sink_definition.
deprecation Enumera las funciones que pronto quedarán obsoletas o que ya lo están y que usa esta canalización. Para ver ejemplos de los valores, consulte Enumeración detallada de eventos de desuso.
cluster_resources Incluye información sobre los recursos de clúster para las canalizaciones que se ejecutan en la computación clásica. Estas métricas solo se rellenan para canalizaciones de cálculo clásicas. Para obtener más información, consulte Detalles del evento cluster_resources.
autoscale Incluye información sobre el escalado automático de canalizaciones que se ejecutan en computación clásica. Estas métricas solo se rellenan para canalizaciones de cálculo clásicas. Para obtener más información, consulte Detalles del evento de escalado automático.
planning_information Representa la información de planificación relacionada con la actualización incremental frente a la actualización completa de las vistas materializadas. Se puede usar para obtener más detalles sobre por qué una vista materializada se recalcula completamente. Para obtener más información, consulte Detalles del evento planning_information.
hook_progress Evento para indicar el estado actual de un hook de usuario durante la ejecución del pipeline. Se usa para supervisar el estado de los enlaces de eventos, por ejemplo, para enviarlos a productos de observabilidad externos. Para obtener más información, consulte Detalles del evento hook_progress.
operation_progress Incluye información sobre el progreso de una operación. Para obtener más información, consulte Detalles del evento operation_progress.
stream_progress Incluye información sobre el progreso de una canalización. Para obtener más información, consulte Detalles del evento stream_progress.

Tipos de detalles

Los objetos siguientes representan el details de un tipo de evento diferente en el PipelineEvent objeto .

Detalles de create_update

Detalles del evento create_update.

Campo Description
dbr_version Versión del entorno de ejecución de Databricks.
run_as El identificador de usuario en cuyo nombre se ejecutará la actualización. Normalmente, esto es el propietario de la canalización o una entidad de servicio.
cause Motivo de la actualización. Por lo general, JOB_TASK si se ejecuta desde un trabajo, o USER_ACTION cuando se ejecuta de forma interactiva por un usuario.

Detalles del evento user_action

Detalles del evento user_action. Incluye los siguientes campos:

Campo Description
user_name Nombre del usuario que desencadenó una actualización del pipeline.
user_id Identificador del usuario que desencadenó una actualización de pipeline. No siempre es el mismo que el usuario de run_as, que podría ser una entidad de servicio u otro usuario.
action La acción que realizó el usuario, incluyendo START y CREATE.

Detalles del evento flow_progress

Los detalles de un evento flow_progress.

Campo Description
status Nuevo estado del flujo. Puede ser una de las siguientes:
  • QUEUED
  • STARTING
  • RUNNING
  • COMPLETED
  • FAILED
  • SKIPPED
  • STOPPED
  • IDLE
  • EXCLUDED
metrics Métricas sobre el flujo. Para obtener más información, consulte FlowMetrics.
data_quality Métricas de calidad de datos sobre el flujo y las expectativas asociadas. Para obtener más información, consulte DataQualityMetrics.

Detalles del evento update_progress

Los detalles de un evento update_progress.

Campo Description
state Nuevo estado de la actualización. Puede ser una de las siguientes:
  • QUEUED
  • CREATED
  • WAITING_FOR_RESOURCES
  • INITIALIZING
  • RESETTING
  • SETTING_UP_TABLES
  • RUNNING
  • STOPPING
  • COMPLETED
  • FAILED
  • CANCELED

Útil para calcular la duración de varias fases de una actualización de canalización, desde la duración total hasta el tiempo de espera de recursos, por ejemplo.
cancellation_cause Motivo por el que una actualización entró en el estado CANCELED. Incluye razones como USER_ACTION o WORKFLOW_CANCELLATION (el flujo de trabajo que desencadenó la actualización se canceló).

Detalles del evento flow_definition

Los detalles de un evento flow_definition.

Campo Description
input_datasets Las entradas leídas por este flujo.
output_dataset Conjunto de datos de salida en el que escribe este flujo.
output_sink El receptor de salida en el que escribe este flujo.
explain_text Plan de consulta explicado.
schema_json Cadena de esquema JSON de Spark SQL.
schema Esquema de este flujo.
flow_type Tipo de flujo. Puede ser una de las siguientes:
  • COMPLETE: la tabla de streaming escribe en su destino en modo completo (streaming).
  • CHANGE: tabla de streaming usando APPLY_CHANGES_INTO.
  • SNAPSHOT_CHANGE: tabla de streaming usando APPLY CHANGES INTO ... FROM SNAPSHOT ....
  • APPEND: la tabla de streaming escribe en su destino en modo append (streaming).
  • MATERIALIZED_VIEW: salidas a una vista materializada.
  • VIEW: salidas a una vista.
comment Comentario o descripción del usuario sobre el conjunto de datos.
spark_conf Configuración de Spark establecida en este flujo.
language Idioma que se usa para crear este flujo. Puede ser SCALA, PYTHON o SQL.
once Si se ha declarado que este flujo se ejecute una vez.

Detalles del evento dataset_definition

Los detalles de un evento dataset_definition. Incluye los siguientes campos:

Campo Description
dataset_type Diferencia entre las vistas materializadas y las tablas de streaming.
num_flows El número de flujos que escriben en el conjunto de datos.
expectations Expectativas asociadas al conjunto de datos.

Detalles del evento sink_definition

Los detalles de un evento sink_definition.

Campo Description
format Formato del sumidero.
options Las opciones clave-valor asociadas con el receptor.

Enumeración de detalles para el evento de desuso

El deprecation evento tiene un message campo. Los posibles valores para message incluyen los siguientes. Se trata de una lista parcial que crece con el tiempo.

Campo Description
TABLE_MANAGED_BY_MULTIPLE_PIPELINES Una tabla se administra mediante varias canalizaciones.
INVALID_CLUSTER_LABELS Uso de etiquetas de clúster que no son compatibles.
PINNED_DBR_VERSION Usar dbr_version en lugar de channel en la configuración de la canalización.
PREVIOUS_CHANNEL_USED Usando el canal de distribución PREVIOUS, que podría desaparecer en una versión futura.
LONG_DATASET_NAME Usar un nombre de conjunto de datos mayor que la longitud admitida.
LONG_SINK_NAME Se está usando un nombre de receptor más largo que la longitud admitida.
LONG_FLOW_NAME Usar un nombre de flujo mayor que la longitud admitida.
ENHANCED_AUTOSCALING_POLICY_COMPLIANCE La directiva de clúster solo cumple cuando el escalado automático mejorado usa el tamaño fijo del clúster.
DATA_SAMPLE_CONFIGURATION_KEY El uso de la clave de configuración para configurar el muestreo de datos está en desuso.
INCOMPATIBLE_CLUSTER_SETTINGS La configuración actual del clúster o la directiva de clúster ya no son compatibles con las canalizaciones declarativas de Spark de Lakeflow.
STREAMING_READER_OPTIONS_DROPPED Uso de opciones de lector de streaming que se han eliminado.
DISALLOWED_SERVERLESS_STATIC_SPARK_CONFIG No se permite establecer configuraciones estáticas de Spark a través de la configuración de canalización para canalizaciones sin servidor.
INVALID_SERVERLESS_PIPELINE_CONFIG El cliente sin servidor proporciona una configuración de canalización no válida.
UNUSED_EXPLICIT_PATH_ON_UC_MANAGED_TABLE Especificar rutas de acceso explícitas no utilizadas en tablas gestionadas por UC.
FOREACH_BATCH_FUNCTION_NOT_SERIALIZABLE La función foreachBatch proporcionada no es serializable.
DROP_PARTITION_COLS_NO_PARTITIONING Al quitar el atributo partition_cols no se produce ninguna creación de particiones.
PYTHON_CREATE_TABLE Usar @dlt.create\_table en lugar de @dp.table o @dp.materialized\_view.
PYTHON_CREATE_VIEW Usar @dlt.create\_view en lugar de @dp.temporary\_view.
PYTHON_CREATE_STREAMING_LIVE_TABLE Usar create_streaming_live_table en lugar de create_streaming_table.
PYTHON_CREATE_TARGET_TABLE Usar create_target_table en lugar de create_streaming_table.
FOREIGN_KEY_TABLE_CONSTRAINT_CYCLE El conjunto de tablas administradas por canalización tiene un ciclo en el conjunto de restricciones de clave externa.
PARTIALLY_QUALIFIED_TABLE_REFERENCE_INCOMPATIBLE_WITH_DEFAULT_PUBLISHING_MODE Referencia de tabla parcialmente calificada que tiene significados diferentes en el modo de publicación predeterminado y el modo de publicación heredado.

Detalles del evento de cluster_resources

Los detalles de un evento cluster_resources. Solo se aplica a las canalizaciones que se ejecutan en cómputo clásico.

Campo Description
task_slot_metrics Las métricas de la ranura de tareas del clúster. Para obtener más información, consulte TaskSlotMetrics (objeto)
autoscale_info El estado de los escaladores automáticos. Para obtener más información, consulte AutoscaleInfo (objeto)

Detalles del evento de escalado automático

Los detalles de un evento autoscale. Los eventos de escalado automático solo son aplicables cuando la canalización utiliza recursos de cómputo clásico.

Campo Description
status Es el estado de este evento. Puede ser una de las siguientes:
  • SUCCEEDED
  • RESIZING
  • FAILED
  • PARTIALLY_SUCCEEDED
optimal_num_executors Número óptimo de ejecutores sugeridos por el algoritmo antes de aplicar min_workers y max_workers límites.
requested_num_executors Número de ejecutores después de truncar el número óptimo de ejecutores sugeridos por el algoritmo a los límites min_workers y max_workers.

Detalles del evento planning_information

Los detalles de un evento planning_information. Resulta útil para ver los detalles relacionados con el tipo de actualización elegido para un flujo determinado durante una actualización. Se puede usar para ayudar a depurar por qué una actualización se actualiza por completo en lugar de actualizarse de forma incremental. Para obtener más información sobre las actualizaciones incrementales, consulte Actualización incremental para vistas materializadas.

Campo Description
technique_information Información relacionada con la actualización. Incluye tanto información sobre la metodología de actualización elegida como las posibles metodologías de actualización que se consideraron. Es útil para depurar las razones por las que una vista materializada no pudo actualizarse de manera incremental. Para obtener más información, consulte TechniqueInformation.
source_table_information Información de la tabla de origen. Puede ser útil para depurar por qué una vista materializada no se ha incrementalizado. Para obtener más información, vea TableInformation object.
target_table_information Información de la tabla de destino. Para obtener más información, vea TableInformation object.

Detalles del evento hook_progress

Detalles de un evento hook_progress. Incluye los siguientes campos:

Campo Description
name El nombre del enlace de usuario.
status El estado del enlace de usuario.

Detalles del evento operation_progress

Los detalles de un evento operation_progress. Incluye los siguientes campos:

Campo Description
type Tipo de operación al que se realiza el seguimiento. Uno de los valores siguientes:
  • AUTO_LOADER_LISTING
  • AUTO_LOADER_BACKFILL
  • CONNECTOR_FETCH
  • CDC_SNAPSHOT
status Estado de la operación. Uno de los valores siguientes:
  • STARTED
  • COMPLETED
  • CANCELED
  • FAILED
  • IN_PROGRESS
duration_ms Tiempo total transcurrido de la operación en milisegundos. Solo se incluye en el evento final (donde el estado es COMPLETED, CANCELEDo FAILED).

Detalles del evento de stream_progress

Detalles de un evento stream_progress. Incluye el siguiente campo:

Campo Description
stream_progress Detalles de la secuencia de canalización. Similar a las StreamingQueryListener métricas de Structured Streaming.
Las diferencias se describen en los párrafos siguientes. Para obtener documentación completa sobre StreamingQueryListener las métricas, consulte StreamingQueryListener object metrics (Métricas de objetos de StreamingQueryListener).

Diferencias entre las métricas del objeto stream_progress y el objeto StreamingQueryListener:

  • Las métricas siguientes están presentes en StreamingQueryListener, pero no en stream_progress: numInputRows, inputRowsPerSecondy processedRowsPerSecond.
  • En el caso de los flujos de Kafka y Kineses, los campos startOffset, endOffset y latestOffset pueden ser demasiado grandes y se truncan. Para cada uno de estos campos, se agrega un campo adicional ...Truncated , startOffsetTruncated, endOffsetTruncatedy latestOffsetTruncated, con un valor booleano para si los datos se truncan.

Otros objetos

Los objetos siguientes representan datos o enumeraciones adicionales dentro de los objetos de evento.

AutoscaleInfo objeto

Métricas de escalado automático de un clúster. Solo se aplica a las canalizaciones que se ejecutan en cómputo clásico.

Campo Description
state El estado de escalado automático. Puede ser una de las siguientes:
  • SUCCEEDED
  • RESIZING
  • FAILED
  • PARTIALLY_SUCCEEDED
optimal_num_executors Número óptimo de ejecutores. Este es el tamaño óptimo sugerido por el algoritmo antes de truncarse por el número mínimo/máximo especificado por el usuario de ejecutores.
latest_requested_num_executors Número de nodos de ejecución solicitados al administrador de clústeres por el administrador de estado en la solicitud más reciente. Este es el número de ejecutores al que el administrador de estado está intentando escalar, y se actualiza cuando el administrador de estado intenta salir del estado de escalado en caso de que se produzcan tiempos de espera. Este campo no se rellena si no hay ninguna solicitud pendiente.
request_pending_seconds El tiempo que lleva pendiente la solicitud de escalado. Esto no se rellena si no hay ninguna solicitud pendiente.

Objeto CostModelRejectionSubType

Enumeración de motivos por los que se rechaza la incrementalización, en función del costo de la actualización completa frente a la actualización incremental en un planning_information evento.

Importancia Description
NUM_JOINS_THRESHOLD_EXCEEDED Actualizar completamente porque la consulta contiene demasiadas uniones.
CHANGESET_SIZE_THRESHOLD_EXCEEDED Actualice completamente porque han cambiado demasiadas filas de las tablas base.
TABLE_SIZE_THRESHOLD_EXCEEDED Actualización completa porque el tamaño de la tabla base superó el umbral.
EXCESSIVE_OPERATOR_NESTING Se actualiza completamente porque la definición de consulta es compleja y tiene muchos niveles de anidamiento de operadores.
COST_MODEL_REJECTION_SUB_TYPE_UNSPECIFIED Actualice completamente por cualquier otro motivo.

un objeto DataQualityMetrics

Métricas sobre cómo se cumplen las expectativas dentro del flujo. Se usa en detalles de un evento flow_progress.

Campo Description
dropped_records Número de registros que se eliminaron porque fallaron una o más expectativas.
expectations Métricas para las expectativas agregadas a cualquier conjunto de datos en el plan de consulta del flujo. Cuando hay varias expectativas, esto se puede usar para realizar un seguimiento de qué expectativas se han cumplido o no se han cumplido. Para obtener más información, consulte El objeto ExpectationMetrics.

Objeto ExpectationMetrics

Métricas sobre las expectativas, para una expectativa específica.

Campo Description
name El nombre de la expectativa.
dataset Nombre del conjunto de datos al que se agregó la expectativa.
passed_records Número de registros que cumplen con la expectativa.
failed_records Número de registros que no cumplen con la expectativa. Realiza un seguimiento de si se cumplió la expectativa, pero no especifica lo que sucede con los registros (alerta, falla o elimina los registros).

Objeto FlowMetrics

Métricas sobre el flujo, incluido el total del flujo, y desglosadas por un origen específico. Se usa en detalles de un evento flow_progress.

Cada origen de streaming solo admite métricas de flujo específicas. En la tabla siguiente se muestran las métricas disponibles para los orígenes de streaming admitidos:

source bytes de trabajos pendientes registros de trabajos pendientes segundos de trabajos pendientes archivos pendientes
Kafka
Kinesis
Delta
Cargador automático
Google Pub/Sub
Campo Description
num_output_rows Número de filas de salida escritas por una actualización de este flujo.
backlog_bytes Total de trabajo pendiente en bytes en todas las fuentes de entrada del flujo.
backlog_records Total de registros pendientes en todos los orígenes de entrada de los flujos.
backlog_files Total de archivos pendientes en todas las fuentes de entrada del flujo.
backlog_seconds Máximo de segundos de trabajo pendiente en todas las fuentes de entrada del flujo.
executor_time_ms Suma de todos los tiempos de ejecución de tareas en milisegundos de este flujo durante el período de informes.
executor_cpu_time_ms Suma de todos los tiempos de CPU de ejecución de tareas en milisegundos de este flujo durante el período de informes.
num_upserted_rows Número de filas de salida insertadas en el conjunto de datos mediante una actualización de este flujo.
num_deleted_rows Número de filas de salida existentes eliminadas del conjunto de datos mediante una actualización de este flujo.
num_output_bytes Número de bytes de salida escritos por una actualización de este flujo.
source_metrics Métricas para cada origen de entrada del flujo. Resulta útil para supervisar el progreso de la ingesta desde orígenes fuera de las canalizaciones declarativas de Spark de Lakeflow (como Apache Kafka, Pulsar o Auto Loader). Incluye los campos:
  • source_name: nombre del origen.
  • backlog_bytes: trabajo pendiente en bytes para esta fuente.
  • backlog_records: registros de trabajo pendiente para esta fuente.
  • backlog_files: archivos de trabajo pendiente para esta fuente.
  • backlog_seconds: segundos de trabajo pendiente para esta fuente.

Objeto IncrementalizationIssue

Representa problemas con la incrementalización que podrían provocar una actualización completa cuando se planea una actualización.

Campo Description
issue_type Tipo de problema que podría impedir que la vista materializada se incrementalice. Para obtener más información, consulte Tipo de problema.
prevent_incrementalization Si este problema impedía que se produzca la incrementalización.
table_information Información de tabla asociada a problemas como CDF_UNAVAILABLE, INPUT_NOT_IN_DELTA, DATA_FILE_MISSING.
operator_name Información relacionada con el plan. Se establece para los problemas cuando el tipo de problema es PLAN_NOT_DETERMINISTIC o PLAN_NOT_INCREMENTALIZABLE para el operador o la expresión que provoca el no determinismo o la no incrementabilidad.
expression_name Nombre de la expresión.
join_type Información auxiliar cuando el operador es una unión. Por ejemplo, JOIN_TYPE_LEFT_OUTER o JOIN_TYPE_INNER.
plan_not_incrementalizable_sub_type Categoría detallada cuando el tipo de problema es PLAN_NOT_INCREMENTALIZABLE. Para obtener más información, vea PlanNotIncrementalizableSubType object.
plan_not_deterministic_sub_type Categoría detallada cuando el tipo de problema es PLAN_NOT_DETERMINISTIC. Para obtener más información, vea El objeto PlanNotDeterministicSubType.
fingerprint_diff_before La diferencia con respecto a la huella digital anterior.
fingerprint_diff_current La discrepancia de la huella digital actual.
cost_model_rejection_subtype Categoría detallada cuando el tipo de problema es INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL. Para obtener más información, vea Objeto CostModelRejectionSubType.

Objeto IssueType

Enumeración de tipos de problema que podrían provocar una actualización completa.

Importancia Description
CDF_UNAVAILABLE CDF (Cambio de Alimentación de Datos) no está habilitado en algunas tablas base. El campo table_information proporciona información sobre qué tabla no tiene habilitado CDF. Use ALTER TABLE <table-name> SET TBLPROPERTIES ( 'delta.enableChangeDataFeed' = true) para habilitar CDF para la tabla base. Si la tabla de origen es una vista materializada, CDF debe establecerse a ON de forma predeterminada.
DELTA_PROTOCOL_CHANGED Actualización completa porque algunas tablas base (detalles del table_information campo) tenían un cambio de protocolo Delta.
DATA_SCHEMA_CHANGED Actualizar por completo porque algunas tablas base (detalles en el campo table_information) han tenido un cambio de esquema de datos en las columnas utilizadas por la definición de la vista materializada. No es relevante si una columna que la vista materializada no usa se ha cambiado o agregado a la tabla base.
PARTITION_SCHEMA_CHANGED Actualización completa porque algunas tablas base (detalles del table_information campo) tenían un cambio de esquema de partición.
INPUT_NOT_IN_DELTA Se actualiza completamente porque la definición de la vista materializada implica algunos datos de entrada que no son de tipo Delta.
DATA_FILE_MISSING Actualización completa porque algunos archivos de tabla base ya están vacíos debido a su período de retención.
PLAN_NOT_DETERMINISTIC Se actualiza completamente porque algunos operadores o expresiones de la definición de vista materializada no son deterministas. Los operator_name campos y expression_name proporcionan información sobre qué operador o expresión causó el problema.
PLAN_NOT_INCREMENTALIZABLE Se actualiza completamente porque algunos operadores o expresiones de la definición de vista materializada no son incrementalizables.
SERIALIZATION_VERSION_CHANGED Realice una actualización completa porque se ha producido un cambio significativo en la lógica de identificación de consultas.
QUERY_FINGERPRINT_CHANGED Actualizar completamente porque la definición de la vista materializada cambió, o las versiones de Lakeflow Spark Declarative Pipelines pudieron causar un cambio en los planes de evaluación de consultas.
CONFIGURATION_CHANGED Se actualiza completamente porque las configuraciones de clave (por ejemplo, spark.sql.ansi.enabled) que podrían afectar a la evaluación de consultas han cambiado. La recompute completa es necesaria para evitar estados incoherentes en la vista materializada.
CHANGE_SET_MISSING Se actualiza por completo porque es la primera vez que se calcula la vista materializada. Este es el comportamiento esperado para el cálculo inicial de la vista materializada.
EXPECTATIONS_NOT_SUPPORTED Realice una actualización completa porque la definición de la vista materializada incluye expectativas que no son compatibles con las actualizaciones incrementales. Elimine las expectativas o gestiónelas fuera de la definición de la vista materializada si necesita compatibilidad incremental.
TOO_MANY_FILE_ACTIONS Actualización completa porque el número de acciones de archivo superó el umbral para el procesamiento incremental. Considere reducir la rotación de archivos en las tablas base o aumentar los umbrales.
INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL Actualización completa porque el modelo de costo determinó que una actualización completa es más eficaz que el mantenimiento incremental. Revise el comportamiento del modelo de costos o la complejidad del plan de consulta para permitir actualizaciones incrementales.
ROW_TRACKING_NOT_ENABLED Actualización completa porque el seguimiento de filas no está habilitado en una o varias tablas base. Habilite el seguimiento de filas mediante ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableRowTracking' = true).
TOO_MANY_PARTITIONS_CHANGED Actualice por completo porque demasiadas particiones cambiaron en las tablas base. Intente limitar el número de cambios de partición para permanecer dentro de los límites de procesamiento incremental.
MAP_TYPE_NOT_SUPPORTED Se actualiza completamente porque la definición de vista materializada incluye un tipo de mapa, que no se admite para las actualizaciones incrementales. Considere la posibilidad de reestructurar los datos para evitar tipos de mapas en la vista materializada.
TIME_ZONE_CHANGED Actualización completa porque la configuración de la zona horaria del sistema o de la sesión ha cambiado.
DATA_HAS_CHANGED Se actualiza completamente porque los datos relevantes para la vista materializada han cambiado de una manera que impide las actualizaciones incrementales. Evalúe los cambios de datos y la estructura de la definición de vista para garantizar la compatibilidad con la lógica incremental.
PRIOR_TIMESTAMP_MISSING Actualizar completamente porque falta la marca de tiempo de la última ejecución exitosa. Esto puede ocurrir después de la pérdida de metadatos o la intervención manual.

Objeto MaintenanceType

Enumeración de tipos de mantenimiento que se pueden elegir durante un planning_information evento. Si el tipo no es MAINTENANCE_TYPE_COMPLETE_RECOMPUTE o MAINTENANCE_TYPE_NO_OP, el tipo es una actualización incremental.

Importancia Description
MAINTENANCE_TYPE_COMPLETE_RECOMPUTE Recomputación completa; siempre visible.
MAINTENANCE_TYPE_NO_OP Cuando las tablas base no cambian.
MAINTENANCE_TYPE_PARTITION_OVERWRITE Actualice las particiones afectadas de manera incremental cuando la vista materializada esté coparticionada con una de las tablas de origen.
MAINTENANCE_TYPE_ROW_BASED Actualice de forma incremental mediante la creación de conjuntos de cambios modulares para varias operaciones, como JOIN, FILTER y UNION ALL,, y compóngalos para calcular consultas complejas. Se usa cuando se habilita el seguimiento de filas para las tablas de origen y hay un número limitado de combinaciones para la consulta.
MAINTENANCE_TYPE_APPEND_ONLY Realice una actualización incremental procesando solo las filas nuevas, ya que no se han producido inserciones ni eliminaciones en las tablas de origen.
MAINTENANCE_TYPE_GROUP_AGGREGATE Actualice incrementalmente calculando los cambios de cada valor agregado. Se usa cuando los agregados asociativos, como count, sum, meany stddev, están en el nivel superior de la consulta.
MAINTENANCE_TYPE_GENERIC_AGGREGATE Actualice incrementalmente calculando solo los grupos de agregados afectados. Se usa cuando los agregados como median (no solo los asociativos) están en el nivel superior de la consulta.
MAINTENANCE_TYPE_WINDOW_FUNCTION Actualice incrementalmente las consultas con funciones de ventana, como PARTITION BY al volver a calcular solo las particiones modificadas. Se usa cuando todas las funciones de la ventana tienen una cláusula PARTITION BY o JOIN y se encuentran en el nivel superior de la consulta.

Objeto de origen

Donde se originó el evento.

Campo Description
cloud Proveedor de nube. Los valores posibles son:
  • AWS
  • Azur
  • GCP
region Región de nube.
org_id El identificador de organización o el identificador del área de trabajo del usuario. Único dentro de una nube. Resulta útil para identificar el área de trabajo o combinar con otras tablas, como tablas de facturación del sistema.
pipeline_id El identificador de la canalización. Identificador único de la canalización. Resulta útil para identificar la canalización o combinar con otras tablas, como tablas de facturación del sistema.
pipeline_type Tipo de la canalización para mostrar dónde se creó la canalización. Los valores posibles son:
  • DBSQL: una canalización creada a través de Databricks SQL.
  • WORKSPACE: Una canalización ETL creada mediante canalizaciones declarativas de Lakeflow Spark.
  • MANAGED_INGESTION: una canalización de ingesta administrada por Lakeflow Connect.
  • BRICKSTORE: una canalización para actualizar una tabla en línea para la prestación de funciones en tiempo real.
  • BRICKINDEX: una canalización para actualizar una base de datos vectorial. Para obtener más información, consulte búsqueda de vectores.
pipeline_name El nombre de la canalización.
cluster_id Identificador del clúster donde se produce una ejecución. Único globalmente.
update_id El identificador de una única ejecución de la canalización. Esto equivale al ID de ejecución.
table_name El nombre de la tabla (Delta) en la que se está escribiendo.
dataset_name Nombre completo de un conjunto de datos.
sink_name El nombre de un receptor.
flow_id El identificador del flujo. Realiza un seguimiento del estado del flujo que se está utilizando en varias actualizaciones. Siempre que flow_id sea el mismo, el flujo se refresca de manera incremental. El flow_id cambia cuando la vista materializada se actualiza completamente, se restablece el punto de control o se produce una recomputación completa.
flow_name El nombre del flujo.
batch_id La identificación de un microlote. Único dentro de un flujo.
request_id Identificador de la solicitud que provocó una actualización.

Objeto PlanNotDeterministicSubType

Enumeración de casos no deterministas para un planning_information evento.

Importancia Description
STREAMING_SOURCE Se actualiza completamente porque la definición de la vista materializada incluye una fuente de transmisión, la cual no es compatible.
USER_DEFINED_FUNCTION Se actualiza completamente porque la vista materializada incluye una función no admitida definida por el usuario. Solo se admiten UDF de Python deterministas. Otros UDF podrían impedir las actualizaciones incrementales.
TIME_FUNCTION Se actualiza completamente porque la vista materializada incluye una función basada en tiempo, como CURRENT_DATE o CURRENT_TIMESTAMP. La expression_name propiedad proporciona el nombre de la función no admitida.
NON_DETERMINISTIC_EXPRESSION Se actualiza completamente porque la consulta incluye una expresión no determinista como RANDOM(). La expression_name propiedad indica la función no determinista que impide el mantenimiento incremental.

Objeto PlanNotIncrementalizableSubType

Una enumeración de razones por las que un plan de actualización no se pueda incrementar de manera incremental.

Importancia Description
OPERATOR_NOT_SUPPORTED La actualización completa se realiza porque el plan de consulta incluye un operador no compatible. La operator_name propiedad proporciona el nombre del operador no admitido.
AGGREGATE_NOT_TOP_NODE Actualización completa porque un operador agregado (GROUP BY) no se encuentra en el nivel superior del plan de consulta. El mantenimiento incremental solo admite agregados en el nivel superior. Considere la posibilidad de definir dos vistas materializadas para separar la agregación.
AGGREGATE_WITH_DISTINCT Actualización completa porque la agregación incluye una DISTINCT cláusula , que no se admite para las actualizaciones incrementales.
AGGREGATE_WITH_UNSUPPORTED_EXPRESSION Se actualiza completamente porque la agregación incluye expresiones no admitidas. La expression_name propiedad indica la expresión problemática.
SUBQUERY_EXPRESSION Realice una actualización completa porque la definición de la vista materializada incluye una expresión de subconsulta, que no es compatible.
WINDOW_FUNCTION_NOT_TOP_LEVEL Realice una actualización completa porque una función de ventana no se encuentra en el nivel superior del plan de consulta.
WINDOW_FUNCTION_WITHOUT_PARTITION_BY Realice una actualización completa porque una función de ventana se define sin una cláusula PARTITION BY.

Objeto TableInformation

Representa detalles de una tabla considerados durante un evento planning_information.

Campo Description
table_name Nombre de la tabla utilizado en una consulta del catálogo de Unity o del metastore de Hive. Puede que no esté disponible en caso de acceso basado en rutas.
table_id Obligatorio. ID de tabla del registro Delta.
catalog_table_type Tipo de la tabla tal como se especifica en el catálogo.
partition_columns Particione las columnas de la tabla.
table_change_type Cambie el tipo de la tabla. Uno de estos valores: TABLE_CHANGE_TYPE_UNKNOWN, TABLE_CHANGE_TYPE_APPEND_ONLY o TABLE_CHANGE_TYPE_GENERAL_CHANGE.
full_size Tamaño completo de la tabla en número de bytes.
change_size Tamaño de las filas modificadas en los archivos modificados. Se calcula mediante change_file_read_size * num_changed_rows / num_rows_in_changed_files.
num_changed_partitions Número de particiones modificadas.
is_size_after_pruning Indica si full_size y change_size representan datos después de la eliminación de archivos estáticos.
is_row_id_enabled Indica si el identificador de fila está habilitado en la tabla.
is_cdf_enabled Si CDF está habilitado en la tabla.
is_deletion_vector_enabled Indica si el vector de eliminación está habilitado en la tabla.
is_change_from_legacy_cdf Si el cambio de tabla proviene de un CDF heredado o de un CDF basado en ID de fila.

Objeto TaskSlotMetrics

Métricas de espacio de tareas para un clúster. Solo se aplica a las actualizaciones de pipeline que se ejecutan en la computación clásica.

Campo Description
summary_duration_ms Duración en milisegundos en las que se calculan las métricas agregadas (por ejemplo, avg_num_task_slots).
num_task_slots El número de ranuras de tareas Spark en el momento del informe.
avg_num_task_slots El número promedio de ranuras de tareas Spark durante la duración del resumen.
avg_task_slot_utilization La utilización promedio de ranuras de tareas (número de tareas activas divididas por el número de ranuras de tareas) a lo largo del periodo resumido.
num_executors El número de ejecutores Spark en el momento del informe.
avg_num_queued_tasks Tamaño medio de la cola de tareas (número total de tareas menos el número de tareas activas) durante la duración del resumen.

Información Técnica del Objeto

Actualizar la información sobre la metodología de un evento de planificación.

Campo Description
maintenance_type Tipo de mantenimiento relacionado con este fragmento de información.
Si el tipo no es MAINTENANCE_TYPE_COMPLETE_RECOMPUTE o MAINTENANCE_TYPE_NO_OP, el flujo se actualiza incrementalmente.
Para obtener más información, vea Objeto MaintenanceType.
is_chosen Válido para la técnica elegida para la actualización.
is_applicable Si el tipo de mantenimiento es aplicable.
incrementalization_issues Problemas de incrementalización que podrían provocar que una actualización se actualice por completo. Para obtener más información, vea IncrementalizationIssue object (Objeto IncrementalizationIssue).
change_set_information Información sobre el conjunto de cambios final generado. Los valores son uno de los siguientes:
  • CHANGE_SET_TYPE_APPEND_ONLY
  • CHANGE_SET_TYPE_GENERAL_ROW_CHANGE