Pular para o conteúdo principal

Esquema log eventos do pipeline declarativoLakeFlow

O log de eventos declarativo do pipeline LakeFlow contém todas as informações relacionadas a um pipeline, incluindo logs de auditoria, verificações de qualidade de dados, progresso pipeline e linhagem de dados.

As tabelas a seguir descrevem o esquema do log de eventos. Alguns desses campos contêm dados JSON que exigem análise para executar algumas consultas, como o campo details . O Databricks suporta o operador : para analisar campos JSON. Veja o operador: (sinal de dois pontos).

nota

Alguns campos no log de eventos são para uso interno do Databricks. A documentação a seguir descreve os campos destinados ao consumo do cliente.

Para obter detalhes sobre como usar o log de eventos do pipeline declarativo LakeFlow , consulte logde eventos do pipeline declarativoLakeFlow.

Objeto PipelineEvent

Representa um único evento de pipeline no log de eventos.

campo

Descrição

id

Um identificador exclusivo para o registro do log de eventos.

sequence

Uma sequência JSON contendo metadados para identificar e ordenar eventos.

origin

Uma sequência JSON contendo metadados para a origem do evento, por exemplo, o provedor cloud , a região do provedor cloud , o usuário e informações pipeline . Veja objeto Origin.

timestamp

A hora em que o evento foi gravado, em UTC.

message

Uma mensagem legível por humanos descrevendo o evento.

level

O nível de alerta. Os valores possíveis são:

  • INFO: Eventos informativos
  • WARN: Problemas inesperados, mas não críticos
  • ERROR: Falha de evento que pode exigir atenção do usuário
  • METRICS: Usado para eventos de alto volume armazenados apenas na tabela Delta e não exibidos na interface do pipeline.

maturity_level

A estabilidade do esquema de eventos. Os valores possíveis são:

  • STABLE:O esquema é estável e não mudará.
  • NULL:O esquema é estável e não mudará. O valor pode ser NULL se o registro foi criado antes do campo maturity_level ser adicionado (versão 2022.37).
  • EVOLVING: O esquema não é estável e pode mudar.
  • DEPRECATED: O esquema está obsoleto e o tempo de execução do pipeline declarativo LakeFlow pode parar de produzir esse evento a qualquer momento.

Não é recomendado construir monitoramento ou alerta com base nos campos EVOLVING ou DEPRECATED .

error

Se ocorreu um erro, detalhes descrevendo o erro.

details

Uma sequência JSON contendo detalhes estruturados do evento. Este é o campo principal usado para analisar eventos. O formato das strings JSON depende do event_type. Consulte O objeto de detalhes para obter mais informações.

event_type

O tipo de evento. Para obter uma lista de tipos de eventos e o tipo de objeto de detalhes que eles criam, consulte O objeto de detalhes.

O objeto de detalhes

Cada evento tem propriedades details diferentes no objeto JSON, com base no event_type do evento. Esta tabela lista o event_type e o details associado. As propriedades details são descritas na seção Tipos de detalhes .

Tipo de detalhes por event_type

Descrição

create_update

Captura a configuração completa usada para iniciar uma atualização pipeline . Inclui qualquer configuração definida pelo Databricks. Para obter detalhes, consulte Detalhes para create_update.

user_action

Fornece detalhes sobre qualquer ação do usuário no pipeline (incluindo a criação de um pipeline, bem como iniciar ou cancelar uma atualização). Para obter detalhes, consulte Detalhes do evento user_action.

flow_progress

Descreve o ciclo de vida de um fluxo, desde o início, execução, conclusão ou falha. Para obter detalhes, consulte Detalhes do evento flow_progress.

update_progress

Descreve o ciclo de vida de uma atualização de pipeline, desde o início, execução, conclusão ou falha. Para obter detalhes, consulte Detalhes do evento update_progress.

flow_definition

Define o esquema e o plano de consulta para quaisquer transformações que ocorram em um determinado fluxo. Podem ser considerados como as bordas do DAG do Dataflow. Ele pode ser usado para calcular a linhagem de cada fluxo, bem como para ver o plano de consulta explicado. Para obter detalhes, consulte Detalhes do evento flow_definition.

dataset_definition

Define um dataset, que é a origem ou o destino de um determinado fluxo. Para obter detalhes, consulte Detalhes do evento dataset_definition.

sink_definition

Define um determinado coletor. Para obter detalhes, consulte Detalhes do evento sink_definition.

deprecation

Lista recursos que estão prestes a ser descontinuados ou que estão obsoletos e que este pipeline utiliza. Para exemplos de valores, consulte Detalhes do enum para evento de descontinuação.

cluster_resources

Inclui informações sobre recursos cluster para pipelines que estão sendo executados em compute clássica. Essas métricas são preenchidas apenas para o pipeline compute clássico. Para obter detalhes, consulte Detalhes do evento cluster_resources.

autoscale

Inclui informações sobre dimensionamento automático para pipelines em execução no Classic compute. Essas métricas são preenchidas apenas para o pipeline compute clássico. Para obter detalhes, consulte Detalhes do evento autoscale.

planning_information

Representa informações de planejamento relacionadas à view materializada incremental vs. refresh completa. Pode ser usado para obter mais detalhes sobre o motivo pelo qual uma view materializada é totalmente recomputada. Para obter detalhes, consulte Detalhes do evento planning_information.

hook_progress

Um evento para indicar o status atual de um gancho de usuário durante a execução do pipeline. Usado para monitorar o status de ganchos de eventos, por exemplo, para enviar para um produto de observabilidade externo. Para obter detalhes, consulte Detalhes do evento hook_progress.

operation_progress

Inclui informação sobre o andamento de uma operação. Para obter detalhes, consulte Detalhes do evento operation_progress.

stream_progress

Inclui informações sobre o progresso de um pipeline. Para obter detalhes, consulte Detalhes do evento stream_progress.

Tipos de detalhes

Os objetos a seguir representam o details de um tipo de evento diferente no objeto PipelineEvent .

Detalhes para create_update

Os detalhes do evento create_update .

campo

Descrição

dbr_version

A versão do Databricks Runtime.

run_as

O ID do usuário em nome do qual a atualização será executada. Normalmente, esse é o proprietário do pipeline ou uma entidade de serviço.

cause

O motivo da atualização. Normalmente, JOB_TASK se for executado a partir de um trabalho ou USER_ACTION quando for executado interativamente por um usuário.

Detalhes do evento user_action

Os detalhes do evento user_action . Inclui os seguintes campos:

campo

Descrição

user_name

O nome do usuário que acionou uma atualização de pipeline.

user_id

O ID do usuário que acionou uma atualização de pipeline. Isso nem sempre é o mesmo que o usuário run_as , que pode ser uma entidade de serviço ou outro usuário.

action

A ação realizada pelo usuário, incluindo START e CREATE.

Detalhes do evento flow_progress

Os detalhes de um evento flow_progress .

campo

Descrição

status

O novo status do fluxo. Pode ser um dos seguintes:

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

metrics

métricas sobre o fluxo. Para mais detalhes, consulte FlowMetrics.

data_quality

Métricas de qualidade de dados sobre o fluxo e expectativas associadas. Para obter detalhes, consulte DataQualityMetrics.

Detalhes do evento update_progress

Os detalhes de um evento update_progress .

campo

Descrição

state

O novo estado da atualização. Pode ser um dos seguintes:

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

Útil para calcular a duração de vários estágios de uma atualização pipeline , desde a duração total até o tempo gasto esperando por recurso, por exemplo.

cancellation_cause

O motivo pelo qual uma atualização entrou no estado CANCELED . Inclui motivos como USER_ACTION ou WORKFLOW_CANCELLATION (o fluxo de trabalho que acionou a atualização foi cancelado).

Detalhes do evento flow_definition

Os detalhes de um evento flow_definition .

campo

Descrição

input_datasets

As entradas lidas por este fluxo.

output_dataset

O dataset de saída no qual este fluxo grava.

output_sink

O coletor de saída no qual esse fluxo grava.

explain_text

O plano de consulta explicado.

schema_json

Cadeias de caracteres de esquema JSON Spark SQL .

schema

Esquema deste fluxo.

flow_type

O tipo de fluxo. Pode ser um dos seguintes:

  • COMPLETE: a tabela transmissão grava no seu destino em modo completo (transmissão).

  • CHANGE: tabela de transmissão usando APPLY_CHANGES_INTO.

  • SNAPSHOT_CHANGE: tabela de transmissão usando APPLY CHANGES INTO ... FROM SNAPSHOT ....

  • APPEND: a tabela transmissão grava em seu destino em modo append (transmissão).

  • MATERIALIZED_VIEW: Saídas para uma view materializada.

  • VIEW: Saídas para uma view.

comment

Comentário ou descrição do usuário sobre o dataset.

spark_conf

Confs do Spark definidas neste fluxo.

language

A linguagem usada para criar esse fluxo. Pode ser SCALA, PYTHON ou SQL.

once

Se esse fluxo foi declarado para execução uma vez.

Detalhes do evento dataset_definition

Os detalhes de um evento dataset_definition . Inclui os seguintes campos:

campo

Descrição

dataset_type

Diferencia entre visualização materializada e tabelas de transmissão.

num_flows

O número de fluxos gravados no dataset.

expectations

As expectativas associadas ao dataset.

Detalhes do evento sink_definition

Os detalhes de um evento sink_definition .

campo

Descrição

format

O formato da pia.

options

As opções de key-valor associadas ao coletor.

Detalhes enum para evento de descontinuação

O evento deprecation tem um campo message . Os valores possíveis para message incluem o seguinte. Esta é uma lista parcial que cresce com o tempo.

campo

Descrição

TABLE_MANAGED_BY_MULTIPLE_PIPELINES

Uma tabela é gerenciada por múltiplos pipelines.

INVALID_CLUSTER_LABELS

Usando rótulo cluster que não são suportados.

PINNED_DBR_VERSION

Usando dbr_version em vez de channel nas configurações do pipeline.

PREVIOUS_CHANNEL_USED

Usando o canal de lançamento PREVIOUS, que pode desaparecer em uma versão futura.

LONG_DATASET_NAME

Usando um nome de conjunto de dados maior que o comprimento suportado.

LONG_SINK_NAME

Usando um nome de coletor maior que o comprimento suportado.

LONG_FLOW_NAME

Usando um nome de fluxo maior que o comprimento suportado.

ENHANCED_AUTOSCALING_POLICY_COMPLIANCE

A política de cluster só é compatível quando o dimensionamento automático aprimorado usa tamanho cluster fixo.

DATA_SAMPLE_CONFIGURATION_KEY

O uso da key de configuração para configurar a amostragem de dados está obsoleto.

INCOMPATIBLE_CLUSTER_SETTINGS

As configurações atuais cluster ou políticas de cluster não são mais compatíveis com o pipeline declarativo LakeFlow .

STREAMING_READER_OPTIONS_DROPPED

Usando opções de leitor de transmissão que são descartadas.

DISALLOWED_SERVERLESS_STATIC_SPARK_CONFIG

Não é permitido definir configurações estáticas Spark por meio da configuração pipeline para pipeline serverless .

INVALID_SERVERLESS_PIPELINE_CONFIG

cliente sem servidor fornece configuração pipeline inválida.

UNUSED_EXPLICIT_PATH_ON_UC_MANAGED_TABLE

Especificando caminhos de tabela explícitos não utilizados em tabelas UC gerencia.

FOREACH_BATCH_FUNCTION_NOT_SERIALIZABLE

A função foreachBatch fornecida não é serializável.

DROP_PARTITION_COLS_NO_PARTITIONING

A remoção do atributo partition_cols não resulta em particionamento.

PYTHON_CREATE_TABLE

Usando @dlt.create_table em vez de @dp.table ou @dp.materialized_view.

PYTHON_CREATE_VIEW

Usando @dlt.create_view em vez de @dp.temporary_view.

PYTHON_CREATE_STREAMING_LIVE_TABLE

Usando create_streaming_live_table em vez de create_streaming_table.

PYTHON_CREATE_TARGET_TABLE

Usando create_target_table em vez de create_streaming_table.

FOREIGN_KEY_TABLE_CONSTRAINT_CYCLE

Conjunto de tabelas gerenciadas por pipeline possui um ciclo no conjunto de restrições key estrangeira.

PARTIALLY_QUALIFIED_TABLE_REFERENCE_INCOMPATIBLE_WITH_DEFAULT_PUBLISHING_MODE

Uma referência de tabela parcialmente qualificada que tem significados diferentes no modo de publicação default e no modo de publicação legado.

Detalhes do evento cluster_resources

Os detalhes de um evento cluster_resources . Aplicável somente para pipeline em execução no Classic compute.

campo

Descrição

task_slot_metrics

As métricas de slot de tarefa do cluster. Para obter detalhes, consulte o objeto TaskSlotMetrics

autoscale_info

O estado dos autoescaladores. Para obter detalhes, consulte o objeto AutoscaleInfo

Detalhes do evento autoscale

Os detalhes de um evento autoscale . Os eventos de dimensionamento automático são aplicáveis somente quando o pipeline usa compute clássica.

campo

Descrição

status

Status deste evento. Pode ser um dos seguintes:

  • SUCCEEDED
  • RESIZING
  • FAILED
  • PARTIALLY_SUCCEEDED

optimal_num_executors

O número ideal de executores sugerido pelo algoritmo antes de aplicar os limites min_workers e max_workers .

requested_num_executors

O número de executores após truncar o número ótimo de executores sugerido pelo algoritmo para os limites min_workers e max_workers .

Detalhes do evento planning_information

Os detalhes de um evento planning_information . Útil para ver detalhes relacionados ao tipo de refresh escolhido para um determinado fluxo durante uma atualização. Pode ser usado para ajudar a depurar por que uma atualização é totalmente atualizada em vez de atualizada incrementalmente. Para obter mais detalhes sobre atualização incremental, consulte refresh incremental para visualização materializada

campo

Descrição

technique_information

informações relacionadas à atualização. Inclui informações sobre qual metodologia refresh foi escolhida e as possíveis metodologias refresh que foram consideradas. Teste útil para explicar por que uma view materializada falhou ao incrementalizar. Para mais detalhes, consulte TechniqueInformation.

source_table_information

Informações da tabela de origem. Pode ser útil para testar por que uma view materializada falhou ao incrementalizar. Para obter detalhes, consulte o objeto TableInformation.

target_table_information

Informações da tabela de destino. Para obter detalhes, consulte o objeto TableInformation.

Detalhes do evento hook_progress

Os detalhes de um evento hook_progress . Inclui os seguintes campos:

campo

Descrição

name

O nome do gancho do usuário.

status

O status do gancho do usuário.

Detalhes do evento operation_progress

Os detalhes de um evento operation_progress . Inclui os seguintes campos:

campo

Descrição

type

O tipo de operações que estão sendo rastreadas. Um de:

  • AUTO_LOADER_LISTING
  • AUTO_LOADER_BACKFILL
  • CONNECTOR_FETCH
  • CDC_SNAPSHOT

status

O status das operações. Um de:

  • STARTED
  • COMPLETED
  • CANCELED
  • FAILED
  • IN_PROGRESS

duration_ms

Tempo total decorrido das operações em milissegundos. Incluído somente no evento final (onde o status é COMPLETED, CANCELED ou FAILED).

Detalhes do evento stream_progress

info

Visualização

Este recurso está em Visualização Pública.

Os detalhes de um evento stream_progress . Inclui o seguinte campo:

campo

Descrição

stream_progress

Os detalhes da transmissão pipeline . Semelhante às StreamingQueryListener métricas para transmissão estruturada.

As diferenças são descritas nos parágrafos seguintes. Para obter documentação completa sobre métricas StreamingQueryListener , consulte Métricas do objeto StreamingQueryListener.

Diferenças entre métricas de objeto stream_progress e StreamingQueryListener :

  • As seguintes métricas estão presentes em StreamingQueryListener, mas não em stream_progress: numInputRows, inputRowsPerSecond e processedRowsPerSecond.
  • Para transmissão de Kafka e Kineses, os campos startOffset, endOffset e latestOffset podem ser muito grandes e são truncados. Para cada um desses campos, um campo ...Truncated adicional, startOffsetTruncated, endOffsetTruncated e latestOffsetTruncated, é adicionado com um valor Boolean para indicar se os dados serão truncados.

Outros objetos

Os objetos a seguir representam dados adicionais ou enumerações dentro dos objetos de evento.

Objeto AutoscaleInfo

As métricas autoscale para um cluster. Aplicável somente para pipeline em execução no Classic compute.

campo

Descrição

state

O status do dimensionamento automático. Pode ser um dos seguintes:

  • SUCCEEDED
  • RESIZING
  • FAILED
  • PARTIALLY_SUCCEEDED

optimal_num_executors

O número ideal de executores. Este é o tamanho ideal sugerido pelo algoritmo antes de ser truncado pelo número mínimo/máximo de executores especificado pelo usuário.

latest_requested_num_executors

O número de executores solicitados ao gerenciador cluster pelo gerenciador de estado na solicitação mais recente. Este é o número de executores para os quais o gerenciador de estado está tentando escalar e é atualizado quando o gerenciador de estado tenta sair do estado de escala em caso de tempo limite. Este campo não será preenchido se não houver nenhuma solicitação pendente.

request_pending_seconds

O período em que a solicitação de dimensionamento ficou pendente. Não será preenchido se não houver nenhuma solicitação pendente.

Objeto CostModelRejectionSubType

Uma enumeração de motivos pelos quais a incrementalização é rejeitada, com base no custo da refresh completa versus refresh incremental em um evento planning_information .

Valor

Descrição

NUM_JOINS_THRESHOLD_EXCEEDED

refresh completamente porque a consulta contém muitas junções.

CHANGESET_SIZE_THRESHOLD_EXCEEDED

refresh completamente porque muitas linhas nas tabelas base foram alteradas.

TABLE_SIZE_THRESHOLD_EXCEEDED

refresh completamente porque o tamanho da tabela base excedeu o limite.

EXCESSIVE_OPERATOR_NESTING

refresh completamente porque a definição da consulta é complexa e tem muitos níveis de aninhamento de operadores.

COST_MODEL_REJECTION_SUB_TYPE_UNSPECIFIED

refresh completamente por qualquer outro motivo.

Objeto DataQualityMetrics

métricas sobre como as expectativas estão sendo atendidas dentro do fluxo. Usado em detalhes do evento flow_progress .

campo

Descrição

dropped_records

O número de registros que foram descartados porque não atenderam a uma ou mais expectativas.

expectations

métricas para expectativas adicionadas a qualquer dataset no plano de consulta do fluxo. Quando há múltiplas expectativas, isso pode ser usado para rastrear quais expectativas foram atendidas ou não. Para obter detalhes, consulte o objeto ExpectationMetrics.

Objeto ExpectationMetrics

métricas sobre expectativas, para uma expectativa específica.

campo

Descrição

name

O nome da expectativa.

dataset

O nome do dataset ao qual a expectativa foi adicionada.

passed_records

O número de registros que atendem às expectativas.

failed_records

O número de registros que não atendem às expectativas. Monitora se a expectativa foi atendida, mas não descreve o que acontece com os registros (avisa, falha ou descarta os registros).

Objeto FlowMetrics

métricas sobre o fluxo, incluindo o total do fluxo e detalhado por fonte específica. Usado em detalhes do evento flow_progress .

Cada fonte de transmissão suporta apenas métricas de fluxo específicas. A tabela a seguir mostra as métricas disponíveis para fontes de transmissão suportadas:

Origem

bytes de backlog

registros de pendências

segundos de atraso

arquivos de pendências

Kafka

Kinesis

Delta

Carregador automático

Google Pub/Sub

campo

Descrição

num_output_rows

Número de linhas de saída gravadas por uma atualização deste fluxo.

backlog_bytes

Backlog total em bytes em todas as fontes de entrada no fluxo.

backlog_records

Total de registros de pendências em todas as fontes de entrada no fluxo.

backlog_files

Total de arquivos pendentes em todas as fontes de entrada no fluxo.

backlog_seconds

Máximo de segundos de backlog em todas as fontes de entrada no fluxo.

executor_time_ms

Soma de todos os tempos de execução de tarefas em milissegundos deste fluxo durante o período do relatório.

executor_cpu_time_ms

Soma de todos os tempos de CPU de execução de tarefas em milissegundos deste fluxo durante o período do relatório.

num_upserted_rows

Número de linhas de saída inseridas no dataset por uma atualização deste fluxo.

num_deleted_rows

Número de linhas de saída existentes excluídas do dataset por uma atualização deste fluxo.

num_output_bytes

Número de bytes de saída gravados por uma atualização deste fluxo.

source_metrics

métricas para cada fonte de entrada no fluxo. Útil para monitorar o progresso da ingestão de fontes externas ao pipeline declarativo LakeFlow (como Apache Kafka, Pulsar ou Auto Loader). Inclui os campos:

  • source_name: O nome da fonte.
  • backlog_bytes: Backlog como bytes para esta fonte.
  • backlog_records: Registros de pendências para esta fonte.
  • backlog_files: Arquivos de backlog para esta fonte.
  • backlog_seconds: Segundos de atraso para esta fonte.

Objeto IncrementalizationIssue

Representa problemas com incrementalização que podem causar uma refresh completa ao planejar uma atualização.

campo

Descrição

issue_type

Um tipo de problema que pode impedir a incrementalização da view materializada. Para obter detalhes, consulte Tipo de problema.

prevent_incrementalization

Se esse problema impediu que a incrementalização acontecesse.

table_information

Informações de tabela associadas a problemas como CDF_UNAVAILABLE, INPUT_NOT_IN_DELTA, DATA_FILE_MISSING.

operator_name

Informações relacionadas ao plano. Definido para problemas quando o tipo de problema for PLAN_NOT_DETERMINISTIC ou PLAN_NOT_INCREMENTALIZABLE para o operador ou expressão que causa o não determinismo ou a não incrementabilização.

expression_name

O nome da expressão.

join_type

Informação auxiliar quando o operador é um join. Por exemplo, JOIN_TYPE_LEFT_OUTER ou JOIN_TYPE_INNER.

plan_not_incrementalizable_sub_type

Categoria detalhada quando o tipo de problema é PLAN_NOT_INCREMENTALIZABLE. Para obter detalhes, consulte o objeto PlanNotIncrementalizableSubType.

plan_not_deterministic_sub_type

Categoria detalhada quando o tipo de problema é PLAN_NOT_DETERMINISTIC. Para obter detalhes, consulte o objeto PlanNotDeterministicSubType.

fingerprint_diff_before

A diferença da impressão digital anterior.

fingerprint_diff_current

A diferença da impressão digital atual.

cost_model_rejection_subtype

Categoria detalhada quando o tipo de problema é INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL. Para obter detalhes, consulte o objeto CostModelRejectionSubType.

Objeto IssueType

Uma enumeração de tipos de problemas que podem causar uma refresh completa.

Valor

Descrição

CDF_UNAVAILABLE

O CDF (Change Data Feed) não está habilitado em algumas tabelas base. O campo table_information fornece informações sobre qual tabela não tem CDF habilitado. Use ALTER TABLE <table-name> SET TBLPROPERTIES ( 'delta.enableChangeDataFeed' = true) para habilitar o CDF para a tabela base. Se a tabela de origem for uma view materializada, o CDF deverá ser definido como ON por default.

DELTA_PROTOCOL_CHANGED

refresh completa porque algumas tabelas base (detalhes no campo table_information ) tiveram uma alteração no protocolo Delta .

DATA_SCHEMA_CHANGED

refresh completamente porque algumas tabelas base (detalhes no campo table_information ) tiveram uma alteração no esquema de dados nas colunas usadas pela definição view materializada. Não é relevante se uma coluna que a view materializada não usa foi alterada ou adicionada à tabela base.

PARTITION_SCHEMA_CHANGED

refresh completamente porque algumas tabelas base (detalhes no campo table_information ) tiveram uma alteração no esquema de partição.

INPUT_NOT_IN_DELTA

refresh completamente porque a definição view materializada envolve alguma entrada não Delta.

DATA_FILE_MISSING

refresh completamente porque alguns arquivos da tabela base já estão vacuum devido ao seu período de retenção.

PLAN_NOT_DETERMINISTIC

refresh completamente porque alguns operadores ou expressões na definição view materializada não são determinísticos. Os campos operator_name e expression_name fornecem informações sobre qual operador ou expressão causou o problema.

PLAN_NOT_INCREMENTALIZABLE

refresh completamente porque alguns operadores ou expressões na definição view materializada não são incrementalizáveis.

SERIALIZATION_VERSION_CHANGED

refresh completa porque houve uma mudança significativa na lógica de impressão digital da consulta.

QUERY_FINGERPRINT_CHANGED

refresh completamente porque a definição view materializada foi alterada ou os lançamentos do pipeline declarativo LakeFlow causaram uma alteração nos planos de avaliação da consulta.

CONFIGURATION_CHANGED

refresh completamente porque as configurações key (por exemplo, spark.sql.ansi.enabled) que podem afetar a avaliação da consulta foram alteradas. É necessário um recálculo completo para evitar estados inconsistentes na view materializada.

CHANGE_SET_MISSING

refresh completamente porque este é o primeiro compute da view materializada. Este é o comportamento esperado para o cálculo inicial view materializada.

EXPECTATIONS_NOT_SUPPORTED

refresh completamente porque a definição view materializada inclui expectativas, que não são suportadas para atualizações incrementais. Remova expectativas ou trate-as fora da definição view materializada se for necessário suporte incremental.

TOO_MANY_FILE_ACTIONS

refresh completamente porque o número de ações de arquivo excedeu o limite para processamento incremental. Considere reduzir a rotatividade de arquivos nas tabelas base ou aumentar o limite.

INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL

refresh completamente porque o modelo de custo determinou que uma refresh completa é mais eficiente do que a manutenção incremental. Revise o comportamento do modelo de custo ou a complexidade do plano de consulta para permitir atualizações incrementais.

ROW_TRACKING_NOT_ENABLED

refresh completamente porque o acompanhamento de linhas não está habilitado em uma ou mais tabelas base. Habilite o acompanhamento de linha usando ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableRowTracking' = true).

TOO_MANY_PARTITIONS_CHANGED

refresh completamente porque muitas partições foram alteradas nas tabelas base. Tente limitar o número de alterações de partição para permanecer dentro dos limites de processamento incremental.

MAP_TYPE_NOT_SUPPORTED

refresh completamente porque a definição view materializada inclui um tipo de mapa, que não é suportado para atualizações incrementais. Considere reestruturar os dados para evitar tipos de mapa na view materializada.

TIME_ZONE_CHANGED

refresh completamente porque a configuração do fuso horário da sessão ou do sistema foi alterada.

DATA_HAS_CHANGED

refresh completamente porque os dados relevantes para a view materializada foram alterados de uma forma que impede atualizações incrementais. Avalie as alterações de dados e a estrutura da definição view para garantir a compatibilidade com a lógica incremental.

PRIOR_TIMESTAMP_MISSING

refresh completamente porque o registro de data e hora da última execução bem-sucedida está faltando. Isso pode ocorrer após perda de metadados ou intervenção manual.

Objeto MaintenanceType

Uma enumeração de tipos de manutenção que podem ser escolhidos durante um evento planning_information . Se o tipo não for MAINTENANCE_TYPE_COMPLETE_RECOMPUTE ou MAINTENANCE_TYPE_NO_OP, o tipo será uma refresh incremental .

Valor

Descrição

MAINTENANCE_TYPE_COMPLETE_RECOMPUTE

Recomputação completa; sempre exibida.

MAINTENANCE_TYPE_NO_OP

Quando as tabelas base não mudam.

MAINTENANCE_TYPE_PARTITION_OVERWRITE

refresh incrementalmente as partições afetadas quando a view materializada for coparticionada com uma das tabelas de origem.

MAINTENANCE_TYPE_ROW_BASED

refresh incrementalmente criando conjuntos de alterações modulares para várias operações, como JOIN, FILTER e UNION ALL, e compondo-os para calcular consultas complexas. Usado quando o acompanhamento de linhas para as tabelas de origem está habilitado e há um número limitado de junções para a consulta.

MAINTENANCE_TYPE_APPEND_ONLY

refresh incrementalmente computando apenas novas linhas porque não houve upserts ou exclusões nas tabelas de origem.

MAINTENANCE_TYPE_GROUP_AGGREGATE

refresh incrementalmente calculando alterações para cada valor agregado. Usado quando agregados associativos, como count, sum, mean e stddev, estão no nível mais alto da consulta.

MAINTENANCE_TYPE_GENERIC_AGGREGATE

refresh incrementalmente calculando apenas os grupos agregados afetados. Usado quando agregados como median (não apenas os associativos) estão no nível mais alto da consulta.

MAINTENANCE_TYPE_WINDOW_FUNCTION

refresh consultas incrementalmente com funções de janela como PARTITION BY , recalculando apenas as partições alteradas. Usado quando todas as funções de janela têm uma cláusula PARTITION BY ou JOIN e estão no nível mais alto da consulta.

Objeto de origem

Onde o evento se originou.

campo

Descrição

cloud

O provedor cloud . Os valores possíveis são:

  • AWS
  • Azure
  • GCP

region

A região cloud .

org_id

O ID da organização ou ID workspace do usuário. Único dentro de uma cloud. Útil para identificar o workspace ou para join com outras tabelas, como tabelas de faturamento do sistema.

pipeline_id

O id do pipeline. Um identificador exclusivo para o pipeline. Útil para identificar o pipeline ou para join com outras tabelas, como tabelas de faturamento do sistema.

pipeline_type

O tipo de pipeline para mostrar onde o pipeline foi criado. Os valores possíveis são:

  • DBSQL: Um pipeline criado via Databricks SQL.
  • WORKSPACE: Um pipeline ETL criado via pipeline declarativo LakeFlow .
  • MANAGED_INGESTION: Um pipeline de ingestão LakeFlow Connect gerencia.
  • BRICKSTORE: Um pipeline para atualizar uma tabela on-line para Feature Serving de tempo real.
  • BRICKINDEX: Um pipeline para atualizar um banco de dados vetorial. Para mais detalhes, veja pesquisa vetorial.

pipeline_name

O nome do pipeline.

cluster_id

O id do cluster onde uma execução acontece. Único no mundo todo.

update_id

O id de uma única execução do pipeline. Isso é equivalente ao ID de execução.

table_name

O nome da tabela (Delta) que está sendo gravada.

dataset_name

O nome totalmente qualificado de um dataset.

sink_name

O nome de uma pia.

flow_id

O id do fluxo. Ele rastreia o estado do fluxo que está sendo usado em várias atualizações. Desde que o flow_id seja o mesmo, o fluxo será atualizado incrementalmente. O flow_id muda quando ocorre uma atualização completa da view materializada, a redefinição do ponto de verificação ou uma recomputação completa dentro da view materializada.

flow_name

O nome do fluxo.

batch_id

O id de um microlote. Único dentro de um fluxo.

request_id

O id da solicitação que causou uma atualização.

Objeto PlanNotDeterministicSubType

Uma enumeração de casos não determinísticos para um evento planning_information .

Valor

Descrição

STREAMING_SOURCE

refresh completamente porque a definição view materializada inclui uma fonte de transmissão, que não é suportada.

USER_DEFINED_FUNCTION

refresh completamente porque a view materializada inclui uma função definida pelo usuário sem suporte. Somente UDFs Python determinísticos são suportados. Outras UDFs podem impedir atualizações incrementais.

TIME_FUNCTION

refresh completamente porque a view materializada inclui uma função baseada em tempo, como CURRENT_DATE ou CURRENT_TIMESTAMP. A propriedade expression_name fornece o nome da função não suportada.

NON_DETERMINISTIC_EXPRESSION

refresh completamente porque a consulta inclui uma expressão não determinística, como RANDOM(). A propriedade expression_name indica a função não determinística que impede a manutenção incremental.

Objeto PlanNotIncrementalizableSubType

Uma série de razões pelas quais um plano de atualização pode não ser incrementalizável.

Valor

Descrição

OPERATOR_NOT_SUPPORTED

refresh completamente porque o plano de consulta inclui um operador não suportado. A propriedade operator_name fornece o nome do operador não suportado.

AGGREGATE_NOT_TOP_NODE

refresh completamente porque um operador agregado (GROUP BY) não está no nível superior do plano de consulta. A manutenção incremental oferece suporte a agregados apenas no nível superior. Considere definir duas visões materializadas para separar a agregação.

AGGREGATE_WITH_DISTINCT

refresh completamente porque a agregação inclui uma cláusula DISTINCT , que não é suportada para atualizações incrementais.

AGGREGATE_WITH_UNSUPPORTED_EXPRESSION

refresh completamente porque a agregação inclui expressões não suportadas. A propriedade expression_name indica a expressão problemática.

SUBQUERY_EXPRESSION

refresh completamente porque a definição view materializada inclui uma expressão de subconsulta, que não é suportada.

WINDOW_FUNCTION_NOT_TOP_LEVEL

refresh completamente porque uma função de janela não está no nível superior do plano de consulta.

WINDOW_FUNCTION_WITHOUT_PARTITION_BY

refresh completamente porque uma função de janela é definida sem uma cláusula PARTITION BY .

Objeto TableInformation

Representa detalhes de uma tabela considerada durante um evento planning_information .

campo

Descrição

table_name

Nome da tabela usada na consulta do Unity Catalog ou do Hive metastore. Pode não estar disponível em caso de acesso baseado em caminho.

table_id

Obrigatório. ID da tabela do log Delta.

catalog_table_type

Tipo de tabela conforme especificado no catálogo.

partition_columns

Colunas de partição da tabela.

table_change_type

Alterar tipo na tabela. Um de: TABLE_CHANGE_TYPE_UNKNOWN, TABLE_CHANGE_TYPE_APPEND_ONLY, TABLE_CHANGE_TYPE_GENERAL_CHANGE.

full_size

O tamanho total da tabela em número de bytes.

change_size

Tamanho das linhas alteradas nos arquivos alterados. É calculado usando change_file_read_size * num_changed_rows / num_rows_in_changed_files.

num_changed_partitions

Número de partições alteradas.

is_size_after_pruning

Se full_size e change_size representam dados após a remoção de arquivo estático.

is_row_id_enabled

Se o ID da linha está habilitado na tabela.

is_cdf_enabled

Se o CDF está habilitado na tabela.

is_deletion_vector_enabled

Se o vetor de exclusão está habilitado na tabela.

is_change_from_legacy_cdf

Se a alteração da tabela é do CDF legado ou do CDF baseado em ID de linha.

Objeto TaskSlotMetrics

As métricas de slot de tarefa para um cluster. Aplica-se somente a atualizações pipeline em execução no Classic compute.

campo

Descrição

summary_duration_ms

A duração em milissegundos durante a qual as métricas agregadas (por exemplo, avg_num_task_slots) são calculadas.

num_task_slots

O número de slots de tarefas Spark no momento do relatório.

avg_num_task_slots

O número médio de slots de tarefa Spark ao longo da duração do resumo.

avg_task_slot_utilization

A utilização média de slots de tarefas (número de tarefas ativas dividido pelo número de slots de tarefas) ao longo da duração resumida.

num_executors

O número de executores Spark no instante do relatório.

avg_num_queued_tasks

O tamanho médio da fila de tarefas (número de tarefas totais menos o número de tarefas ativas) durante a duração resumida.

Objeto de informação técnica

atualizar informações de metodologia para um evento de planejamento.

campo

Descrição

maintenance_type

Tipo de manutenção relacionada a esta informação.

Se o tipo não for MAINTENANCE_TYPE_COMPLETE_RECOMPUTE ou MAINTENANCE_TYPE_NO_OP, o fluxo será atualizado incrementalmente.

Para obter detalhes, consulte o objeto MaintenanceType.

is_chosen

Verdadeiro para a técnica que foi escolhida para a refresh.

is_applicable

Se o tipo de manutenção é aplicável.

incrementalization_issues

Problemas de incrementação que podem fazer com que uma atualização seja totalmente refresh. Para obter detalhes, consulte o objeto IncrementalizationIssue.

change_set_information

informações sobre o conjunto de alterações final produzido. Os valores são um dos seguintes:

  • CHANGE_SET_TYPE_APPEND_ONLY
  • CHANGE_SET_TYPE_GENERAL_ROW_CHANGE