Nota
O acesso a esta página requer autorização. Podes tentar iniciar sessão ou mudar de diretório.
O acesso a esta página requer autorização. Podes tentar mudar de diretório.
O registo de eventos do pipeline contém todas as informações relacionadas a um pipeline, incluindo registos de auditoria, verificações de qualidade de dados, progresso do pipeline e proveniência 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 details campo. O Azure Databricks dá suporte ao operador : para analisar campos JSON. Consulte : (sinal de dois pontos) operador.
Observação
Alguns campos no log de eventos são para uso interno do 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 Log de eventos do pipeline.
Objeto PipelineEvent
Representa um único evento de pipeline no registo de eventos.
| Campo | Description |
|---|---|
id |
Um identificador exclusivo para o registro do log de eventos. |
sequence |
Uma cadeia de caracteres JSON contendo metadados para identificar e ordenar eventos. |
origin |
Uma cadeia de caracteres JSON contendo metadados para a origem do evento, por exemplo, o provedor de nuvem, a região do provedor de nuvem, usuário e informações de pipeline. Consulte 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:
|
maturity_level |
A estabilidade do esquema de eventos. Os valores possíveis são:
Não é recomendável criar monitoramento ou alertas com base em EVOLVING ou DEPRECATED campos. |
error |
Se ocorreu um erro, detalhes descrevendo o erro. |
details |
Uma cadeia de caracteres JSON contendo detalhes estruturados do evento. Este é o campo principal usado para analisar eventos. O formato da cadeia de caracteres 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 evento e quais tipos de objeto de detalhes eles criam, consulte O objeto details. |
O objeto de detalhe
Cada evento tem propriedades diferentes details no objeto JSON, com base 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 digitados por event_type |
Description |
|---|---|
create_update |
Captura a configuração completa que é usada para iniciar uma atualização do pipeline. Inclui qualquer configuração definida pelo Databricks. Para obter detalhes, consulte Detalhes sobre 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 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 o início e execução até à conclusão ou falha. Para obter detalhes, consulte Detalhes para evento update_progress. |
flow_definition |
Define o esquema e o plano de consulta para quaisquer transformações que ocorram em um determinado fluxo. Pode ser considerado como as bordas do DAG de fluxo de dados. Ele pode ser usado para calcular a linhagem para cada fluxo, bem como para ver o plano de consulta explicado. Para obter detalhes, consulte Detalhes para o evento flow_definition. |
dataset_definition |
Define um conjunto de dados, que é a origem ou o destino de um determinado fluxo. Para obter detalhes, consulte Detalhes do evento dataset_definition. |
sink_definition |
Define uma determinada pia. Para obter detalhes, consulte Detalhes para sink_definition evento. |
deprecation |
Lista as funcionalidades usadas por este pipeline que estão, ou estarão em breve, preteridas. Para obter exemplos dos valores, consulte Enum de detalhes para evento de depreciação. |
cluster_resources |
Inclui informações sobre recursos de cluster 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 cluster_resources. |
autoscale |
Inclui informações sobre dimensionamento automático para pipelines que estão sendo executados em 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 as informações de planejamento relacionadas à exibição materializada incremental vs. atualização completa. Pode ser usado para obter mais detalhes sobre por que uma visão materializada é totalmente recalculada. Para obter detalhes, consulte detalhes do evento de informações de planejamento. |
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 produtos de observabilidade externos. 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 do evento operation_progress. |
stream_progress |
Inclui informações sobre o avanço de um pipeline. Para obter detalhes, consulte Detalhes do evento stream_progress. |
Tipos de detalhes
Os seguintes objetos representam o details de um tipo de evento diferente no objeto PipelineEvent.
Detalhes sobre create_update
Os detalhes do evento create_update.
| Campo | Description |
|---|---|
dbr_version |
A versão do Databricks Runtime. |
run_as |
O ID de usuário do qual a atualização será executada em nome. Normalmente, é o proprietário do pipeline ou um principal de serviço. |
cause |
O motivo da atualização. Normalmente, é JOB_TASK executado a partir de um trabalho ou USER_ACTION quando executado interativamente por um utilizador. |
Detalhes do evento user_action
Os detalhes do evento user_action. Inclui os seguintes campos:
| Campo | Description |
|---|---|
user_name |
O nome do utilizador que disparou uma actualização de um pipeline. |
user_id |
O ID do utilizador que despoletou uma atualização de pipeline. Isso nem sempre é o mesmo que o run_as usuário, que pode ser um principal 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 de um flow_progress evento.
| Campo | Description |
|---|---|
status |
O novo status do fluxo. Pode ser um dos seguintes:
|
metrics |
Métricas sobre o fluxo. Para obter 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 update_progress evento.
| Campo | Description |
|---|---|
state |
O novo estado da atualização. Pode ser um dos seguintes:
Ú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 gasto aguardando 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 de um flow_definition evento.
| Campo | Description |
|---|---|
input_datasets |
As entradas lidas por este 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 de consulta explicado. |
schema_json |
Cadeia de caracteres do esquema JSON do Spark SQL. |
schema |
Esquema deste fluxo. |
flow_type |
O tipo de fluxo. Pode ser um dos seguintes:
|
comment |
Comentário ou descrição do usuário sobre o conjunto de dados. |
spark_conf |
Configurações 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 ser executado apenas uma vez. |
Detalhes sobre o evento de definição de conjunto de dados
Os detalhes de um dataset_definition evento. Inclui os seguintes campos:
| Campo | Description |
|---|---|
dataset_type |
Diferencia entre visualizaçõ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 de um sink_definition evento.
| Campo | Description |
|---|---|
format |
O formato da pia. |
options |
As opções de chave-valor associadas ao coletor. |
Enum de detalhes para evento de depreciação
O deprecation evento tem um message campo. Os valores possíveis para o message incluem o seguinte. Esta é 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 |
Usando rótulos de cluster que não são suportados. |
PINNED_DBR_VERSION |
Usando dbr_version em vez de channel nas configurações de pipeline. |
PREVIOUS_CHANNEL_USED |
Usando o canal PREVIOUS de lançamento, que pode desaparecer em uma futura versão. |
LONG_DATASET_NAME |
Usando um nome de conjunto de dados maior do que o comprimento suportado. |
LONG_SINK_NAME |
Usando um nome de coletor maior do que o comprimento suportado. |
LONG_FLOW_NAME |
Usando um nome de fluxo maior do que o comprimento suportado. |
ENHANCED_AUTOSCALING_POLICY_COMPLIANCE |
A política de cluster só está em conformidade quando a funcionalidade de Dimensionamento Automático Avançado utiliza um tamanho de cluster fixo. |
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 de cluster ou a política de cluster não são mais compatíveis com os Lakeflow Spark Declarative Pipelines. |
STREAMING_READER_OPTIONS_DROPPED |
Usando opções de leitor de streaming que são descartadas. |
DISALLOWED_SERVERLESS_STATIC_SPARK_CONFIG |
Não é permitido definir configurações estáticas do Spark por meio da configuração de pipeline para pipelines sem servidor. |
INVALID_SERVERLESS_PIPELINE_CONFIG |
O cliente sem servidor fornece configuração de pipeline inválida. |
UNUSED_EXPLICIT_PATH_ON_UC_MANAGED_TABLE |
Especificação de 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 |
Remover o atributo partition_cols 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 geridas 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 de um cluster_resources evento. Aplicável apenas para pipelines em execução em computação tradicional.
| Campo | Description |
|---|---|
task_slot_metrics |
As métricas dos slots de tarefas do cluster. Para obter detalhes, consulte TaskSlotMetrics objeto |
autoscale_info |
O estado dos escaladores automáticos. Para obter detalhes, consulte Objeto AutoscaleInfo |
Detalhes do evento de dimensionamento automático
Os detalhes de um autoscale evento. Os eventos de dimensionamento automático só são aplicáveis quando o pipeline usa computação clássica.
| Campo | Description |
|---|---|
status |
Estado deste evento. Pode ser um dos seguintes:
|
optimal_num_executors |
O número ideal de executores sugerido pelo algoritmo antes de aplicar min_workers e max_workers limites. |
requested_num_executors |
O número de executores depois de truncar o número ideal de executores sugerido pelo algoritmo para min_workers e max_workers limites. |
Detalhes para o evento de informações de planejamento
Os detalhes de um planning_information evento. Ú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 incrementalmente atualizada. Para obter mais detalhes sobre atualizações incrementais, consulte Atualização incremental para exibições materializadas
| Campo | Description |
|---|---|
technique_information |
Atualizar informações relacionadas. Inclui informações sobre a metodologia de atualização escolhida e as possíveis metodologias de atualização que foram consideradas. Útil para depurar por que uma vista materializada falhou ao incrementalizar. Para obter mais detalhes, consulte TechniqueInformation. |
source_table_information |
Informações da tabela de origem. Pode ser útil para depurar por que uma vista materializada não conseguiu atualizar incrementalmente. 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 de usuário. |
status |
O estado do hook de utilizador. |
Detalhes do evento operation_progress
Os detalhes de um operation_progress evento. Inclui os seguintes campos:
| Campo | Description |
|---|---|
type |
O tipo de operação que está sendo rastreada. Um dos seguintes:
|
status |
O estado da operação. Um dos seguintes:
|
duration_ms |
O tempo total decorrido da operação em milissegundos. Incluído apenas no evento final (onde status é COMPLETED, CANCELEDou FAILED). |
Detalhes para o evento de stream_progress
Os detalhes de um evento stream_progress. Inclui o seguinte campo:
| Campo | Description |
|---|---|
stream_progress |
Os detalhes do fluxo do gasoduto. Semelhante às métricas do StreamingQueryListener Structured Streaming (Transmissão Estruturada).As diferenças são descritas nos parágrafos seguintes. Para obter documentação completa sobre StreamingQueryListener métricas, consulte Métricas de objeto StreamingQueryListener. |
Diferenças entre as métricas de stream_progress e StreamingQueryListener objeto:
- As métricas a seguir estão presentes em
StreamingQueryListener, mas não emstream_progress:numInputRows,inputRowsPerSecond, eprocessedRowsPerSecond. - Para fluxos Kafka e Kineses, os campos
startOffset,endOffsetelatestOffsetpodem ser muito grandes e são truncados. Para cada um desses campos, um campo adicional...Truncated,startOffsetTruncated,endOffsetTruncatedelatestOffsetTruncated, é adicionado com um valor booleano para saber se os dados estão truncados.
Outros objetos
Os objetos a seguir representam dados adicionais ou enums dentro dos objetos de evento.
Objeto AutoscaleInfo
As métricas de dimensionamento automático para um cluster. Aplicável apenas para pipelines em execução em computação tradicional.
| Campo | Description |
|---|---|
state |
O status de dimensionamento automático. Pode ser um dos seguintes:
|
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 solicitado ao gerenciador de cluster pelo gerente de estado na última solicitação. Este é o número de executores para os quais o gestor de estado está a tentar escalar e é atualizado quando tenta sair do estado de dimensionamento em caso de expiração do tempo limite. Este 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 dimensionamento está pendente. Isso não será preenchido se não houver nenhuma solicitação pendente. |
Objeto CostModelRejectionSubType
Uma série de razões pelas quais a incrementalização é rejeitada, com base no custo da atualização completa versus a atualização incremental em um planning_information evento.
| Valor | 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 de consulta é complexa e tem muitos níveis de aninhamento de operador. |
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 de um flow_progress evento.
| Campo | Description |
|---|---|
dropped_records |
O número de registos que foram eliminados por não cumprirem uma ou mais expectativas. |
expectations |
Métricas para expectativas adicionadas a qualquer conjunto de dados no plano de consulta do fluxo de dados. Quando há várias expectativas, isso pode ser usado para rastrear quais expectativas foram atendidas ou fracassadas. 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 registos que ultrapassam a expectativa. |
failed_records |
O número de registros que não correspondem à expectativa. Rastreia se a expectativa foi cumprida, mas não descreve o que acontece com os registos (alertar, falhar ou excluir os registos). |
Objeto FlowMetrics
Métricas sobre o fluxo, incluindo o total do fluxo e discriminadas por fonte específica. Usado em detalhes de um flow_progress evento.
Cada fonte de streaming suporta apenas métricas de fluxo específicas. A tabela a seguir mostra as métricas disponíveis para fontes de streaming suportadas:
| origem | bytes da lista de pendências | Registos de pendências | segundos de pendências | Arquivos pendentes |
|---|---|---|---|---|
| Kafka | ✓ | ✓ | ||
| Kinesis | ✓ | ✓ | ||
| Delta | ✓ | ✓ | ||
| Carregador Automático | ✓ | ✓ | ||
| Google Pub/Sub | ✓ | ✓ |
| Campo | Description |
|---|---|
num_output_rows |
Número de linhas de saída escritas por uma atualização deste fluxo. |
backlog_bytes |
Atraso total em bytes em todas as fontes de entrada do fluxo. |
backlog_records |
Registos totais de pendentes em todas as fontes de entrada em fluxo. |
backlog_files |
Total de arquivos acumulados de todas as fontes de entrada no fluxo. |
backlog_seconds |
Máximo de segundos de atraso em todas as fontes de entrada no fluxo. |
executor_time_ms |
Soma de todos os tempos de execução de tarefas 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 tarefas 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 fonte de entrada no fluxo. Ú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 incrementalização que podem causar uma atualização completa ao planear uma modificação.
| Campo | Description |
|---|---|
issue_type |
Um tipo de problema que poderia impedir a atualização incremental da visão materializada. Para obter detalhes, consulte Tipo de problema. |
prevent_incrementalization |
Se esse problema impediu que a incrementalização acontecesse. |
table_information |
Informações da tabela associadas a problemas como CDF_UNAVAILABLE, INPUT_NOT_IN_DELTA, DATA_FILE_MISSING. |
operator_name |
Informações relacionadas com o plano. Defina para problemas quando o tipo de problema é ou PLAN_NOT_DETERMINISTIC ou PLAN_NOT_INCREMENTALIZABLE, em relação ao operador ou expressão que causa o não-determinismo ou a não-incrementalizabilidade. |
expression_name |
O nome da expressão. |
join_type |
Informações auxiliares 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 na 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
Um enum de tipos de problema que podem causar uma atualização completa.
| Valor | Description |
|---|---|
CDF_UNAVAILABLE |
CDF (Change Data Feed) não está habilitado em algumas tabelas base. O table_information campo 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 exibição materializada, o CDF deve ser definido como ON por padrão. |
DELTA_PROTOCOL_CHANGED |
Atualização total porque algumas tabelas base tiveram uma alteração no protocolo Delta (detalhes no campo table_information). |
DATA_SCHEMA_CHANGED |
Atualização total porque algumas tabelas base (detalhes no table_information campo) tiveram uma alteração no 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 tiver sido alterada ou adicionada à tabela base. |
PARTITION_SCHEMA_CHANGED |
Atualize totalmente porque algumas tabelas base (detalhes no campo table_information) tiveram uma alteração de esquema de partição. |
INPUT_NOT_IN_DELTA |
Atualize totalmente porque a definição de exibição materializada envolve alguma entrada não-Delta. |
DATA_FILE_MISSING |
Atualize completamente porque alguns ficheiros de tabela base já foram compactados 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 deterministas. Os operator_name campos 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 |
Reiniciar completamente porque houve uma mudança significativa na lógica de impressão digital da consulta. |
QUERY_FINGERPRINT_CHANGED |
Atualização total porque a definição de exibição materializada foi alterada ou as liberações do Lakeflow Spark Declarative Pipelines causaram uma alteração nos planos de avaliação da 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. O recálculo completo é necessário para evitar estados inconsistentes na visão materializada. |
CHANGE_SET_MISSING |
Atualize totalmente porque é o primeiro cálculo da visão materializada. Este é o comportamento esperado para a computação de visualização materializada inicial. |
EXPECTATIONS_NOT_SUPPORTED |
Atualização total porque a definição de exibição materializada inclui expectativas, que não são suportadas para atualizações incrementais. Remova as expectativas ou manipule-as fora da definição de exibição materializada, se for necessário suporte incremental. |
TOO_MANY_FILE_ACTIONS |
Atualize totalmente porque o número de ações de arquivo excedeu o limite para processamento incremental. Considere reduzir a rotatividade de arquivos em tabelas base ou aumentar os limites. |
INCREMENTAL_PLAN_REJECTED_BY_COST_MODEL |
Atualização total porque o modelo de custo determinou que uma atualização completa é mais eficiente do que a manutenção incremental. Analise o comportamento do modelo de custo ou a complexidade do plano de consulta para permitir atualizações incrementais. |
ROW_TRACKING_NOT_ENABLED |
Atualização total porque o rastreamento de linhas não está habilitado em uma ou mais tabelas base. Habilite o acompanhamento de linhas usando 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 ficar dentro dos limites de processamento incremental. |
MAP_TYPE_NOT_SUPPORTED |
Atualização total porque a definição de exibição materializada inclui um tipo de mapa, que não é suportado para atualizações incrementais. Considere reestruturar os dados para evitar tipos de mapa na visualizaçã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 forma 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 |
Atualize totalmente porque o carimbo de data/hora da última execução bem-sucedida está ausente. Isso pode ocorrer após perda de metadados ou intervenção manual. |
Objeto MaintenanceType
Um conjunto 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 será uma atualização incremental.
| Valor | Description |
|---|---|
MAINTENANCE_TYPE_COMPLETE_RECOMPUTE |
Recomputação completa; sempre visível. |
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 for coparticionada 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, compondo-os para calcular consultas complexas. Usado quando o rastreamento de linha para as tabelas de origem está habilitado e há um número limitado de junções na consulta. |
MAINTENANCE_TYPE_APPEND_ONLY |
Atualize incrementalmente calculando apenas as novas linhas, porque não houve upserts ou exclusões nessas tabelas de origem. |
MAINTENANCE_TYPE_GROUP_AGGREGATE |
Atualize incrementalmente calculando as alterações para cada valor agregado. Usado quando agregações associativas, como count, sum, mean, e stddev, estão no nível mais alto da consulta. |
MAINTENANCE_TYPE_GENERIC_AGGREGATE |
Atualize incrementalmente calculando apenas os grupos agregados afetados. Usado quando agregados como median (não apenas associativos) estão no nível mais alto da consulta. |
MAINTENANCE_TYPE_WINDOW_FUNCTION |
Atualize incrementalmente as consultas com funções de janela, como PARTITION BY, ao recalcular 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
Local de origem do evento.
| Campo | Description |
|---|---|
cloud |
O provedor de nuvem. Os valores possíveis são:
|
region |
A região da nuvem. |
org_id |
O ID da organização ou ID do espaço de trabalho do usuário. Único dentro de uma nuvem. Útil para identificar o espaço de trabalho ou para se juntar a outras tabelas, como tabelas de faturamento do sistema. |
pipeline_id |
O id do gasoduto. Um identificador exclusivo para o pipeline. Útil para identificar o pipeline ou para unir a outras tabelas, como as tabelas de faturamento do sistema. |
pipeline_type |
O tipo do pipeline que indica onde o pipeline foi criado. Os valores possíveis são:
|
pipeline_name |
O nome do gasoduto. |
cluster_id |
A id do cluster onde uma execução acontece. Globalmente único. |
update_id |
O identificador de uma única execução do pipeline. Isso é equivalente ao ID de execução. |
table_name |
O nome da tabela (Delta) para a qual se está a gravar. |
dataset_name |
O nome totalmente qualificado de um conjunto de dados. |
sink_name |
O nome de uma pia. |
flow_id |
O id do fluxo. Monitoriza o estado do fluxo utilizado em várias atualizações. Desde que o flow_id seja o mesmo, o fluxo é incrementalmente refrescante. As alterações de flow_id ocorrem quando a vista materializada é completamente atualizada, o ponto de verificação é reiniciado, ou uma recomputação completa ocorre dentro da vista materializada. |
flow_name |
O nome do fluxo. |
batch_id |
O identificador de um microlote. Único dentro de um fluxo. |
request_id |
A id da solicitação que causou uma atualização. |
Objeto do tipo PlanNotDeterministicSubType
Um enum de casos não determinísticos para um planning_information evento.
| Valor | Description |
|---|---|
STREAMING_SOURCE |
Atualize totalmente porque a definição de exibição materializada inclui uma fonte de streaming, que não é suportada. |
USER_DEFINED_FUNCTION |
Atualize totalmente porque a exibição materializada inclui uma função definida pelo usuário não suportada. Apenas UDFs Python determinísticos são suportados. Outras UDFs podem impedir 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 série de razões pelas quais um plano de atualização pode não ser incrementalizável.
| Valor | Description |
|---|---|
OPERATOR_NOT_SUPPORTED |
Atualize totalmente porque o plano de consulta inclui um operador sem suporte. A operator_name propriedade fornece o nome do operador sem suporte. |
AGGREGATE_NOT_TOP_NODE |
Atualize totalmente porque um operador agregado (GROUP BY) não está no nível superior do plano de consulta. A manutenção incremental suporta apenas agregações no nível mais alto. Considere definir duas vistas materializadas para separar as agregações. |
AGGREGATE_WITH_DISTINCT |
Atualize totalmente porque a agregação inclui uma DISTINCT cláusula, que não é suportada 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 exibição materializada inclui uma expressão de subconsulta, que não é suportada. |
WINDOW_FUNCTION_NOT_TOP_LEVEL |
Atualize totalmente porque uma função de janela não está no nível superior do plano de consulta. |
WINDOW_FUNCTION_WITHOUT_PARTITION_BY |
Atualize totalmente porque uma função de janela é definida sem uma PARTITION BY cláusula. |
Objeto TableInformation
Representa os detalhes de uma tabela considerada durante um planning_information evento.
| Campo | Description |
|---|---|
table_name |
Nome da tabela usado na consulta do Unity Catalog ou do metastore do Hive. Poderá não estar disponível em caso de acesso por caminho. |
table_id |
Required. 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 |
Altere o tipo na tabela. Um dos: 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 ficheiros alterados. É calculado utilizando 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á ativado 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 é de CDF herdado ou CDF baseado em ID de linha. |
Objeto TaskSlotMetrics
As métricas de alocação de tarefas de um cluster. Aplica-se apenas a atualizações de pipeline executadas em computação clássica.
| Campo | Description |
|---|---|
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 do Spark no instante de relatório. |
avg_num_task_slots |
O número médio de slots de tarefas do Spark durante o período resumido. |
avg_task_slot_utilization |
A utilização média do slot de tarefas (número de tarefas ativas dividido pelo número de slots de tarefas) ao longo do período resumido. |
num_executors |
O número de executores do Spark no instante de relatório. |
avg_num_queued_tasks |
O tamanho médio da fila de tarefas (número total de tarefas menos o número de tarefas ativas) ao longo da duração do resumo. |
Objeto Informação Técnica
Atualize as informações da metodologia para um evento de planejamento.
| Campo | Description |
|---|---|
maintenance_type |
Tipo de manutenção relacionado com esta 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 Objeto MaintenanceType. |
is_chosen |
Verdadeiro para a técnica que foi escolhida para a actualização. |
is_applicable |
Se o tipo de manutenção é aplicável. |
incrementalization_issues |
Problemas de incrementalizaçã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 de alterações final produzido. Os valores são um dos seguintes:
|