Nota:
El acceso a esta página requiere autorización. Puede intentar iniciar sesión o cambiar directorios.
El acceso a esta página requiere autorización. Puede intentar cambiar los directorios.
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:
|
maturity_level |
Estabilidad del esquema de eventos. Los valores posibles son:
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:
|
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:
Ú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:
|
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:
|
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:
|
status |
Estado de la operación. Uno de los valores siguientes:
|
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 enstream_progress:numInputRows,inputRowsPerSecondyprocessedRowsPerSecond. - En el caso de los flujos de Kafka y Kineses, los campos
startOffset,endOffsetylatestOffsetpueden ser demasiado grandes y se truncan. Para cada uno de estos campos, se agrega un campo adicional...Truncated,startOffsetTruncated,endOffsetTruncatedylatestOffsetTruncated, 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:
|
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:
|
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:
|
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:
|
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:
|