Observação
O acesso a essa página exige autorização. Você pode tentar entrar ou alterar diretórios.
O acesso a essa página exige autorização. Você pode tentar alterar os diretórios.
O log de eventos do pipeline contém todas as informações relacionadas a um pipeline, incluindo logs de auditoria, verificações de qualidade de dados, progresso do pipeline e rastreabilidade de dados.
As tabelas a seguir descrevem o esquema de log de eventos. Alguns desses campos contêm dados JSON que exigem análise para executar algumas consultas, como o details campo. O Azure Databricks dá suporte ao : operador para analisar campos JSON. Confira operador : (sinal de dois pontos).
Observação
Alguns campos no log de eventos são para uso interno pelo Azure 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, consulte o log de eventos do Pipeline.
Objeto PipelineEvent
Representa um único evento de pipeline no log de eventos.
| Campo | Description |
|---|---|
id |
Um identificador exclusivo para o registro de log de eventos. |
sequence |
Uma cadeia de caracteres JSON que contém metadados para identificar e ordenar eventos. |
origin |
Uma cadeia de caracteres JSON que contém metadados para a origem do evento, por exemplo, o provedor de nuvem, a região do provedor de nuvem, o usuário e as informações de pipeline. Consulte Objeto de origem. |
timestamp |
A hora em que o evento foi gravado, em UTC. |
message |
Uma mensagem legível por humanos que descreve o evento. |
level |
O nível de aviso. Os valores possíveis são:
|
maturity_level |
A estabilidade do esquema de eventos. Os valores possíveis são:
Não é recomendável criar monitoramento e alertas com base nos campos EVOLVING ou DEPRECATED. |
error |
Se ocorreu um erro, os detalhes que descrevem o erro. |
details |
Uma cadeia de caracteres JSON que contém detalhes estruturados do evento. Esse é o campo principal usado para analisar eventos. O formato de cadeia de caracteres JSON depende do event_type. Consulte o objeto details para obter mais informações. |
event_type |
O tipo de evento. Para obter uma lista de tipos de evento e o tipo de objeto de detalhes que eles criam, consulte o objeto Details. |
O objeto de detalhes
Cada evento tem propriedades diferentes details no objeto JSON, baseado no event_type do evento. Esta tabela lista o event_type e o associado details. As details propriedades são descritas na seção Tipos de Detalhes.
Detalhes categorizados por event_type |
Description |
|---|---|
create_update |
Captura a configuração completa que é usada para iniciar uma atualização de um pipeline. Inclui qualquer configuração definida pelo Databricks. Para obter detalhes, consulte Detalhes de 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 de user_action. |
flow_progress |
Descreve o ciclo de vida de um fluxo desde o início, a execução, até a 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 a inicialização, passando pela execução, até a conclusão ou falha. Para obter detalhes, consulte Detalhes do evento update_progress. |
flow_definition |
Define o esquema e o plano de consulta para todas as transformações que ocorrem em um determinado fluxo. Pode ser considerado como as bordas do DAG de Fluxo de dados. 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 conjunto de dados, que é a origem ou o destino de um determinado fluxo. Para mais detalhes, consulte detalhes do evento dataset_definition. |
sink_definition |
Define um coletor determinado. Para obter detalhes, consulte Detalhes do evento sink_definition. |
deprecation |
Lista os recursos que serão descontinuados em breve ou que estão obsoletos no momento e que são usados por esse pipeline. Para obter exemplos dos valores, consulte Detalhes de enumeração para o evento de preterimento. |
cluster_resources |
Inclui informações sobre recursos de cluster para pipelines que estão em execução no ambiente de computação clássica. Essas métricas são preenchidas apenas para pipelines de computação clássicos. Para obter detalhes, consulte Detalhes do evento cluster_resources. |
autoscale |
Inclui informações sobre dimensionamento automático para pipelines que estão sendo executados na computação clássica. Essas métricas são preenchidas apenas para pipelines de computação clássicos. Para obter detalhes, consulte Detalhes do evento de dimensionamento automático. |
planning_information |
Representa informações de planejamento relacionadas à atualização incremental versus completa da exibição materializada. Pode ser usado para obter mais detalhes sobre o motivo pelo qual uma exibição materializada é totalmente recomputada. Para obter detalhes, consulte detalhes do evento planning_information. |
hook_progress |
Um evento para indicar o status atual de um user hook durante a execução do pipeline. Usado para monitorar o status de ganchos de eventos, por exemplo, para enviar a produtos de observabilidade externa. Para obter detalhes, consulte detalhes do evento hook_progress. |
operation_progress |
Inclui informações sobre o progresso de uma operação. Para obter detalhes, consulte Detalhes para o 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 de criar_atualização
Os detalhes do evento create_update.
| Campo | Description |
|---|---|
dbr_version |
A versão do Databricks Runtime. |
run_as |
A ID do usuário da qual a atualização será executada em nome. Normalmente, esse é o proprietário do pipeline ou um principal de serviço. |
cause |
O motivo da atualização. Normalmente, JOB_TASK quando é executado a partir de um trabalho, ou USER_ACTION quando é executado interativamente por um usuário. |
Detalhes do evento user_action
Os detalhes do evento user_action. Inclui os seguintes campos:
| Campo | Description |
|---|---|
user_name |
O nome do usuário que acionou uma atualização do pipeline. |
user_id |
O ID do usuário que acionou uma atualização do 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 que o usuário tomou, incluindo START e CREATE. |
Detalhes do evento flow_progress
Os detalhes para um evento flow_progress.
| Campo | Description |
|---|---|
status |
O novo status do fluxo. Pode ser uma das ações a seguir:
|
metrics |
Métricas sobre o fluxo. Para obter detalhes, consulte FlowMetrics. |
data_quality |
Métricas de qualidade de dados sobre o fluxo e as expectativas associadas. Para obter detalhes, consulte DataQualityMetrics. |
Detalhes do evento update_progress
Os detalhes para um evento update_progress.
| Campo | Description |
|---|---|
state |
O novo estado da atualização. Pode ser uma das ações a seguir:
Útil para calcular a duração de vários estágios de uma atualização de pipeline, desde a duração total até o tempo de espera por recursos, 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 disparou a atualização foi cancelado). |
Detalhes do evento flow_definition
Os detalhes para um evento flow_definition.
| Campo | Description |
|---|---|
input_datasets |
As entradas lidas por esse fluxo. |
output_dataset |
O conjunto de dados de saída no qual esse fluxo grava. |
output_sink |
O coletor de saída no qual esse fluxo grava. |
explain_text |
O plano detalhado da consulta. |
schema_json |
Cadeia de caracteres de esquema JSON do Spark SQL. |
schema |
Esquema desse fluxo. |
flow_type |
O tipo de fluxo. Pode ser uma das ações a seguir:
|
comment |
Comentário do usuário ou descrição sobre o conjunto de dados. |
spark_conf |
Configurações do Spark definidas nesse fluxo. |
language |
O idioma usado para criar esse fluxo. Pode ser SCALA, PYTHON ou SQL. |
once |
Se esse fluxo foi declarado para ser executado uma vez. |
Detalhes do evento dataset_definition
Os detalhes para um evento dataset_definition. Inclui os seguintes campos:
| Campo | Description |
|---|---|
dataset_type |
Diferencia entre exibições materializadas e tabelas de streaming. |
num_flows |
O número de fluxos gravados no conjunto de dados. |
expectations |
As expectativas associadas ao conjunto de dados. |
Detalhes do evento sink_definition
Os detalhes para um evento sink_definition.
| Campo | Description |
|---|---|
format |
O formato do dissipador de calor. |
options |
As opções de valor-chave associadas ao coletor. |
Enumeração de detalhes para evento de preterimento
O deprecation evento tem um message campo. Os possíveis valores para o message incluem o seguinte. Essa é uma lista parcial que cresce ao longo do tempo.
| Campo | Description |
|---|---|
TABLE_MANAGED_BY_MULTIPLE_PIPELINES |
Uma tabela é gerenciada por vários pipelines. |
INVALID_CLUSTER_LABELS |
Uso de rótulos de cluster não suportados. |
PINNED_DBR_VERSION |
Usando dbr_version em vez de channel nas configurações do pipeline. |
PREVIOUS_CHANNEL_USED |
Uso do canal de lançamento PREVIOUS, que pode não estar mais disponível em uma versão futura. |
LONG_DATASET_NAME |
Usando um nome de conjunto de dados maior que o comprimento suportado. |
LONG_SINK_NAME |
Uso de um nome de coletor maior do que o comprimento suportado. |
LONG_FLOW_NAME |
Uso de um nome de fluxo maior do que o comprimento suportado. |
ENHANCED_AUTOSCALING_POLICY_COMPLIANCE |
A política de cluster só está em conformidade quando o Dimensionamento Automático Avançado usa o tamanho fixo do cluster. |
DATA_SAMPLE_CONFIGURATION_KEY |
O uso da chave de configuração para configurar a amostragem de dados foi preterido. |
INCOMPATIBLE_CLUSTER_SETTINGS |
As configurações atuais do cluster ou a política de cluster não são mais compatíveis com os Pipelines Declarativos do Lakeflow Spark. |
STREAMING_READER_OPTIONS_DROPPED |
Uso de opções de leitura em streaming que foram descartadas. |
DISALLOWED_SERVERLESS_STATIC_SPARK_CONFIG |
Não é permitida a definição de configurações estáticas do Spark através da configuração de pipeline para pipelines sem servidor. |
INVALID_SERVERLESS_PIPELINE_CONFIG |
O cliente sem servidor fornece uma configuração de pipeline inválida. |
UNUSED_EXPLICIT_PATH_ON_UC_MANAGED_TABLE |
Especificando caminhos de tabela explícitos não utilizados em tabelas gerenciadas por UC. |
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 nenhum 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 |
O conjunto de tabelas gerenciadas pelo pipeline tem um ciclo no conjunto de restrições de chave 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 padrão e no modo de publicação herdado. |
Detalhes do evento cluster_resources
Os detalhes para um evento cluster_resources. Aplicável somente a pipelines em execução na computação clássica.
| Campo | Description |
|---|---|
task_slot_metrics |
A métrica de slot de tarefa do cluster. Para obter detalhes, consulte o objeto TaskSlotMetrics |
autoscale_info |
O estado dos dimensionadores automáticos. Para obter detalhes, consulte o objeto AutoscaleInfo |
Detalhes do evento de autoescalonamento
Os detalhes para um evento autoscale. Os eventos de dimensionamento automático só são aplicáveis quando o pipeline usa computação clássica.
| Campo | Description |
|---|---|
status |
Status desse evento. Pode ser uma das ações a seguir:
|
optimal_num_executors |
O número ideal de executores sugerido pelo algoritmo antes da aplicação dos limites min_workers e max_workers. |
requested_num_executors |
O número de executores depois de truncar o número ideal de executores sugerido pelo algoritmo nos limites min_workers e max_workers. |
Detalhes para o evento planning_information
Os detalhes para um evento planning_information. Útil para ver detalhes relacionados ao tipo de atualização 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ções incrementais, consulte Atualização incremental para exibições materializadas
| Campo | Description |
|---|---|
technique_information |
Informações relacionadas à atualização. Ele inclui informações sobre qual metodologia de atualização foi escolhida e as possíveis metodologias de atualização que foram consideradas. Útil para depurar por que uma exibição materializada não foi incrementalizada. Para obter mais detalhes, consulte TechniqueInformation. |
source_table_information |
Informações da tabela fonte. Pode ser útil para depurar por que uma exibição materializada falhou na incrementação. 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 | Description |
|---|---|
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 | Description |
|---|---|
type |
O tipo de operação que está sendo acompanhada. Um destes:
|
status |
O status da operação. Um destes:
|
duration_ms |
O tempo total decorrido da operação em milissegundos. Incluído somente no evento final (onde o status está COMPLETED, CANCELEDou FAILED). |
Detalhes do evento stream_progress
Os detalhes de um evento stream_progress. Inclui o seguinte campo:
| Campo | Description |
|---|---|
stream_progress |
Os detalhes do fluxo da pipeline. Semelhante às StreamingQueryListener métricas de Streaming Estruturado.As diferenças são descritas nos parágrafos a seguir. Para obter a documentação completa sobre StreamingQueryListener métricas, consulte as métricas de objeto StreamingQueryListener. |
Diferenças entre as métricas de objeto stream_progress e StreamingQueryListener:
- As seguintes métricas estão presentes em
StreamingQueryListener, mas não emstream_progress:numInputRows,inputRowsPerSecondeprocessedRowsPerSecond. - Para fluxos de Kafka e Kinesis, os campos
startOffset,endOffsetelatestOffsetpodem ser muito grandes e são truncados. Para cada um desses campos, campos adicionais,...Truncated,startOffsetTruncated,endOffsetTruncated, elatestOffsetTruncated, são adicionados com um valor booliano indicando se os dados são truncados.
Outros objetos
Os objetos a seguir representam dados ou enumerações adicionais dentro dos objetos de evento.
Objeto AutoscaleInfo
As métricas de dimensionamento automático para um cluster. Aplicável somente a pipelines em execução na computação clássica.
| Campo | Description |
|---|---|
state |
O status de Dimensionamento automático. Pode ser uma das ações a seguir:
|
optimal_num_executors |
O número ideal de executores. Esse é 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 do gerenciador de cluster pelo gerenciador de estado na solicitação mais recente. Esse é 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. Esse campo não será preenchido se não houver nenhuma solicitação pendente. |
request_pending_seconds |
O período de tempo em que a solicitação de escala está pendente. Isso 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 de atualização completa versus atualização incremental em um planning_information evento.
| Value | Description |
|---|---|
NUM_JOINS_THRESHOLD_EXCEEDED |
Atualize totalmente porque a consulta contém muitas junções. |
CHANGESET_SIZE_THRESHOLD_EXCEEDED |
Atualize totalmente porque muitas linhas nas tabelas base foram alteradas. |
TABLE_SIZE_THRESHOLD_EXCEEDED |
Atualize totalmente porque o tamanho da tabela base excedeu o limite. |
EXCESSIVE_OPERATOR_NESTING |
Atualize completamente porque a definição da consulta é complexa e possui muitos níveis de aninhamento de operadores. |
COST_MODEL_REJECTION_SUB_TYPE_UNSPECIFIED |
Atualize totalmente 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 | Description |
|---|---|
dropped_records |
O número de registros que foram descartados porque falharam em uma ou mais expectativas. |
expectations |
Métricas para expectativas adicionadas a qualquer conjunto de dados no plano de consulta do fluxo. Quando há várias expectativas, isso pode ser usado para acompanhar quais expectativas foram atendidas ou falharam. Para obter detalhes, consulte o objeto ExpectationMetrics. |
Objeto ExpectationMetrics
Métricas sobre expectativas, para uma expectativa específica.
| Campo | Description |
|---|---|
name |
O nome da expectativa. |
dataset |
O nome do conjunto de dados ao qual a expectativa foi adicionada. |
passed_records |
O número de registros que passam a expectativa. |
failed_records |
O número de registros que não atendem à expectativa. Controla se a expectativa foi atendida, mas não descreve o que acontece com os registros (gerar um aviso, registrar falha ou remover os registros). |
Objeto FlowMetrics
Métricas sobre o fluxo, incluindo o total do fluxo e a divisão por fonte específica. Usado em detalhes do evento flow_progress.
Cada fonte de streaming dá suporte apenas a métricas de fluxo específicas. A tabela a seguir mostra as métricas disponíveis para fontes de streaming com suporte:
| fonte | bytes da lista de pendências | registros de lista de pendências | segundos da lista de pendências | arquivos de lista de pendências |
|---|---|---|---|---|
| Kafka | ✓ | ✓ | ||
| Kinesis | ✓ | ✓ | ||
| Delta | ✓ | ✓ | ||
| Carregador Automático | ✓ | ✓ | ||
| Google Pub/Sub | ✓ | ✓ |
| Campo | Description |
|---|---|
num_output_rows |
Número de linhas de saída gravadas por uma atualização desse fluxo. |
backlog_bytes |
Total de acúmulo em bytes em todas as fontes de entrada no fluxo de dados. |
backlog_records |
Total da lista de pendências em todas as fontes de entrada no fluxo. |
backlog_files |
Total de arquivos de lista de pendências em todas as fontes de entrada no fluxo. |
backlog_seconds |
Máximo de segundos de lista de pendências em todas as fontes de entrada no fluxo. |
executor_time_ms |
Soma de todos os tempos de execução da tarefa em milissegundos desse fluxo durante o período de relatório. |
executor_cpu_time_ms |
Soma de todos os tempos de CPU de execução de tarefa em milissegundos desse fluxo durante o período de relatório. |
num_upserted_rows |
Número de linhas de saída inseridas no conjunto de dados por uma atualização desse fluxo. |
num_deleted_rows |
Número de linhas de saída existentes excluídas do conjunto de dados por uma atualização desse fluxo. |
num_output_bytes |
Número de bytes de saída gravados por uma atualização desse fluxo. |
source_metrics |
Métricas para cada origem de entrada no processo. Útil para monitorar o progresso da ingestão de fontes fora do Lakeflow Spark Declarative Pipelines (como Apache Kafka, Pulsar ou Auto Loader). Inclui os campos:
|
Objeto IncrementalizationIssue
Representa problemas com a incrementalização que podem causar uma atualização completa ao planejar uma atualização.
| Campo | Description |
|---|---|
issue_type |
Um tipo de problema que pode impedir a incrementação da exibição 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. Defina para problemas quando o tipo de problema é PLAN_NOT_DETERMINISTIC ou PLAN_NOT_INCREMENTALIZABLE para o operador ou a expressão que causa o não determinismo ou a não incrementabilidade. |
expression_name |
O nome da expressão. |
join_type |
Informações auxiliares quando o operador é uma junção. 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 problema que podem causar uma atualização completa.
| Value | Description |
|---|---|
CDF_UNAVAILABLE |
O CDF (Feed de Dados de Alteração) não está habilitado em algumas tabelas base. O table_information campo fornece informações sobre qual tabela não tem o 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 visão materializada, o CDF deverá ser configurado para ON por padrão. |
DELTA_PROTOCOL_CHANGED |
Atualize totalmente porque algumas tabelas base (detalhes no campo table_information) tiveram uma alteração no protocolo Delta. |
DATA_SCHEMA_CHANGED |
Atualize totalmente porque algumas tabelas base (detalhes no table_information campo) tiveram uma alteração de esquema de dados nas colunas usadas pela definição de exibição materializada. Não é relevante se uma coluna que a exibição materializada não usa foi alterada ou adicionada à tabela base. |
PARTITION_SCHEMA_CHANGED |
Atualize completamente porque algumas tabelas base (detalhes no campo table_information) tiveram uma alteração de esquema de partição. |
INPUT_NOT_IN_DELTA |
Atualize completamente, pois a definição da visão materializada envolve alguma entrada não-Delta. |
DATA_FILE_MISSING |
Atualização completa porque alguns arquivos da tabela base já foram executados vacuum devido ao seu período de retenção. |
PLAN_NOT_DETERMINISTIC |
Atualize totalmente porque alguns operadores ou expressões na definição de exibição 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 |
Atualize totalmente porque alguns operadores ou expressões na definição de exibição materializada não são incrementalizáveis. |
SERIALIZATION_VERSION_CHANGED |
Atualização completa porque houve uma mudança significativa na lógica de impressão digital da consulta. |
QUERY_FINGERPRINT_CHANGED |
Atualize totalmente porque a definição de visão materializada foi alterada ou os lançamentos do Lakeflow Spark Declarative Pipelines causaram uma alteração nos planos de avaliação de consulta. |
CONFIGURATION_CHANGED |
Atualize totalmente porque as configurações de chave (por exemplo, spark.sql.ansi.enabled) que podem afetar a avaliação da consulta foram alteradas. A recompute completa é necessária para evitar estados inconsistentes na exibição materializada. |
CHANGE_SET_MISSING |
Atualize totalmente porque é o primeiro cálculo da visão materializada. Esse é o comportamento esperado para a computação de exibição materializada inicial. |
EXPECTATIONS_NOT_SUPPORTED |
Atualize totalmente porque a definição de exibição materializada inclui expectativas, que não têm suporte para atualizações incrementais. Remova as expectativas ou manipule-as fora da definição de exibição materializada se o suporte incremental for necessário. |
TOO_MANY_FILE_ACTIONS |
Atualize totalmente porque o número de ações de arquivo excedeu o limite para o processamento incremental. Considere reduzir as alterações frequentes de arquivos em tabelas base ou aumentar os limiares. |
INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL |
Atualize totalmente porque o modelo de custo determinou que uma atualização completa é mais eficiente do que a manutenção incremental. Examine o comportamento ou a complexidade do modelo de custo do plano de consulta para permitir atualizações incrementais. |
ROW_TRACKING_NOT_ENABLED |
Atualize totalmente porque o acompanhamento de linhas não está habilitado em uma ou mais tabelas base. Habilite o acompanhamento de linhas ao usar ALTER TABLE <table-name> SET TBLPROPERTIES ('delta.enableRowTracking' = true). |
TOO_MANY_PARTITIONS_CHANGED |
Atualize totalmente 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 incrementais. |
MAP_TYPE_NOT_SUPPORTED |
Atualize totalmente porque a definição de exibição materializada inclui um tipo de mapa, que não tem suporte para atualizações incrementais. Considere reestruturar os dados para evitar tipos de mapas na exibição materializada. |
TIME_ZONE_CHANGED |
Atualize totalmente porque a configuração de fuso horário da sessão ou do sistema foi alterada. |
DATA_HAS_CHANGED |
Atualize totalmente porque os dados relevantes para a exibição materializada foram alterados de uma maneira que impede atualizações incrementais. Avalie as alterações de dados e a estrutura da definição de exibição para garantir a compatibilidade com a lógica incremental. |
PRIOR_TIMESTAMP_MISSING |
Atualização completa porque o registro de data e hora da última execução bem-sucedida está ausente. 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 planning_information evento. Se o tipo não for MAINTENANCE_TYPE_COMPLETE_RECOMPUTE ou MAINTENANCE_TYPE_NO_OP, o tipo é uma atualização incremental.
| Value | Description |
|---|---|
MAINTENANCE_TYPE_COMPLETE_RECOMPUTE |
Recompute completo; sempre mostrado. |
MAINTENANCE_TYPE_NO_OP |
Quando as tabelas base não são alteradas. |
MAINTENANCE_TYPE_PARTITION_OVERWRITE |
Atualize incrementalmente as partições afetadas quando a exibição materializada é co-particionada com uma das tabelas de origem. |
MAINTENANCE_TYPE_ROW_BASED |
Atualize incrementalmente criando conjuntos de alterações modulares para várias operações, como JOIN, FILTERe UNION ALL, redigindo-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 |
A atualização incremental é feita apenas computando novas linhas, pois não houve operações de atualização/inserção ou exclusões nas tabelas de origem. |
MAINTENANCE_TYPE_GROUP_AGGREGATE |
Atualize incrementalmente calculando as alterações para cada valor agregado. Usados quando agregações associativas, como count, sum, meane stddev, estão no nível mais alto da consulta. |
MAINTENANCE_TYPE_GENERIC_AGGREGATE |
Atualize incrementalmente calculando apenas os grupos de agregação afetados. Usado quando agregações como median (não apenas associativas) estão no nível mais alto da consulta. |
MAINTENANCE_TYPE_WINDOW_FUNCTION |
Atualize as consultas incrementalmente com funções de janela, como PARTITION BY recompilando apenas as partições alteradas. Usado quando todas as funções de janela têm uma cláusula PARTITION BY ou uma cláusula JOIN e estão no nível superior da consulta. |
Objeto Origem
Onde o evento se originou.
| Campo | Description |
|---|---|
cloud |
O provedor de nuvem. Os valores possíveis são:
|
region |
A região da nuvem. |
org_id |
A ID da organização ou a ID do workspace do usuário. Exclusivo dentro de um ambiente de nuvem. Útil para identificar o espaço de trabalho ou para combinar com outras tabelas, como tabelas de cobrança do sistema. |
pipeline_id |
O ID do pipeline. Um identificador exclusivo para o pipeline. Útil para identificar o pipeline ou para ingressar em outras tabelas, como as tabelas de cobrança do sistema. |
pipeline_type |
O tipo de pipeline para mostrar onde o pipeline foi criado. Os valores possíveis são:
|
pipeline_name |
O nome do pipeline. |
cluster_id |
A ID do cluster em que ocorre uma execução. Globalmente exclusivo. |
update_id |
A ID de uma única execução do pipeline. Isso é equivalente à ID de execução. |
table_name |
O nome da tabela (Delta) que está sendo gravada. |
dataset_name |
O nome totalmente qualificado de um conjunto de dados. |
sink_name |
O nome de um sumidouro. |
flow_id |
O ID do fluxo. Acompanha o estado do fluxo que está sendo usado em várias atualizações. Desde que flow_id seja o mesmo, o fluxo é atualizado de forma incremental. O flow_id altera quando a exibição materializada é totalmente atualizada, o ponto de verificação é redefinido ou ocorre uma recomputação completa na exibição materializada. |
flow_name |
O nome do fluxo. |
batch_id |
O ID de um microlote. Único dentro de um fluxo. |
request_id |
A ID da solicitação que causou uma atualização. |
Objeto PlanNotDeterministicSubType
Uma enumeração de casos não determinísticos para um planning_information evento.
| Value | Description |
|---|---|
STREAMING_SOURCE |
Atualize totalmente porque a definição de exibição materializada inclui uma fonte de streaming, que não tem suporte. |
USER_DEFINED_FUNCTION |
Atualize totalmente porque a exibição materializada inclui uma função definida pelo usuário que não é suportada. Há suporte apenas para UDFs determinísticas do Python. Outros UDFs podem bloquear atualizações incrementais. |
TIME_FUNCTION |
Atualize totalmente porque a exibição materializada inclui uma função baseada em tempo, como CURRENT_DATE ou CURRENT_TIMESTAMP. A expression_name propriedade fornece o nome da função sem suporte. |
NON_DETERMINISTIC_EXPRESSION |
Atualize totalmente porque a consulta inclui uma expressão não determinística, como RANDOM(). A expression_name propriedade indica a função não determinística que impede a manutenção incremental. |
Objeto PlanNotIncrementalizableSubType
Uma enumeração de motivos pelos quais um plano de atualização pode não ser incrementalizável.
| Value | Description |
|---|---|
OPERATOR_NOT_SUPPORTED |
Atualização completa porque o plano de consulta inclui um operador não suportado. A operator_name propriedade fornece o nome do operador sem suporte. |
AGGREGATE_NOT_TOP_NODE |
Faça uma atualização completa porque um operador de agregação (GROUP BY) não está no nível superior do plano de consulta. A manutenção incremental dá suporte a agregações apenas no nível superior. Considere definir duas visões materializadas para separar a agregação. |
AGGREGATE_WITH_DISTINCT |
Atualize totalmente porque a agregação inclui uma DISTINCT cláusula, que não tem suporte para atualizações incrementais. |
AGGREGATE_WITH_UNSUPPORTED_EXPRESSION |
Atualize totalmente porque a agregação inclui expressões sem suporte. A expression_name propriedade indica a expressão problemática. |
SUBQUERY_EXPRESSION |
Atualize totalmente porque a definição de visão materializada inclui uma expressão de subconsulta, que não é suportada. |
WINDOW_FUNCTION_NOT_TOP_LEVEL |
Atualização completa porque uma função de janela não está no nível superior do plano de consulta. |
WINDOW_FUNCTION_WITHOUT_PARTITION_BY |
Totalmente atualizado porque uma função de janela é definida sem uma cláusula PARTITION BY. |
Objeto TableInformation
Representa detalhes de uma tabela considerada durante um planning_information evento.
| Campo | Description |
|---|---|
table_name |
Nome da tabela usado na consulta do Unity Catalog ou metastore do Hive. Pode não estar disponível no caso de acesso baseado em caminho. |
table_id |
Obrigatório O ID da tabela do log Delta. |
catalog_table_type |
Tipo da tabela, conforme especificado no catálogo. |
partition_columns |
Colunas de partição da tabela. |
table_change_type |
Altere o tipo na tabela. Uma opção entre TABLE_CHANGE_TYPE_UNKNOWN, TABLE_CHANGE_TYPE_APPEND_ONLY e TABLE_CHANGE_TYPE_GENERAL_CHANGE. |
full_size |
O tamanho total da tabela em número de bytes. |
change_size |
Tamanho das linhas modificadas em arquivos alterados. Ele é 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 poda de arquivos estáticos. |
is_row_id_enabled |
Se o ID de 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 herdado ou do CDF baseado em ID de linha. |
Objeto TaskSlotMetrics
As métricas de alocação de tarefas para um cluster. Aplica-se apenas a atualizações de pipeline em execução na computação clássica.
| Campo | Description |
|---|---|
summary_duration_ms |
A duração em milissegundos sobre a qual as métricas de agregação (por exemplo, avg_num_task_slots) são calculadas. |
num_task_slots |
O número de slots de tarefas do Spark no instante do relatório. |
avg_num_task_slots |
O número médio de slots de tarefas do Spark durante a duração do resumo. |
avg_task_slot_utilization |
A utilização média do slot de tarefa (número de tarefas ativas dividido pelo número de slots de tarefa) durante a duração do resumo. |
num_executors |
O número de executores do Spark no momento 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 Informação Técnica
Atualize as informações de metodologia para um evento de planejamento.
| Campo | Description |
|---|---|
maintenance_type |
Tipo de manutenção relacionado a essa informação. Se o tipo não for MAINTENANCE_TYPE_COMPLETE_RECOMPUTE ou MAINTENANCE_TYPE_NO_OP, o fluxo é atualizado incrementalmente.Para obter detalhes, consulte o objeto MaintenanceType. |
is_chosen |
Verdadeiro para a técnica que foi escolhida para a atualização. |
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 atualizada. Para obter detalhes, consulte o objeto IncrementalizationIssue. |
change_set_information |
Informações sobre o conjunto final de alterações. Os valores são um dos seguintes:
|