Nota
O acesso a esta página requer autorização. Pode tentar iniciar sessão ou alterar os diretórios.
O acesso a esta página requer autorização. Pode tentar alterar os diretórios.
Esta página fornece informações de referência para os esquemas de tabelas do OpenTelemetry (OTLP) e o mapeamento de dados usados pelo Zerobus Ingest OTLP.
Esquema da tabela
Quando chegam dados OTLP, o Zerobus Ingest converte cada registo da hierarquia aninhada de recurso/escopo/registo OTLP numa linha plana e desnormalizada. Os atributos dos recursos e a informação do âmbito da instrumentação estão incorporados diretamente em cada linha, tornando os dados imediatamente consultáveis sem joins.
Todos os campos de atributos (attributes, resource.attributes, instrumentation_scope.attributes, body para logs, metadata para métricas) são armazenados como VARIANT colunas.
VARIANT é um tipo semi-estruturado em Delta Lake que armazena dados JSON preservando os tipos originais.
Cada registo é complementado com campos específicos de Databricks:
| Campo | Descrição | Fonte |
|---|---|---|
record_id |
Um ID gerado pelo sistema para identificação única e ordenação temporal. | Gerado com base no tempo |
time |
Carimbo temporal em microssegundos da época Unix. | Carimbo temporal (em microssegundos) derivado de start_time_unix_nano (spans) ou time_unix_nano (logs, métricas) |
date |
Coluna de partição de datas, para filtragem eficiente por intervalo temporal. | Derivado de time |
service_name |
Coluna de topo para filtragem eficiente pelo nome do serviço, conforme definido na convenção semântica OTel. | Extraído de resource.attributes["service.name"] |
Precisão numérica e tipos de assinatura
Devido a algumas limitações do tipo Delta, por favor tenha em atenção o seguinte:
-
Valores métricos inteiros perdem precisão acima de 2^53.
Gauge,Sum, eExemplaros pontos de dados que reportam o seu valor comoas_int, um inteiro de 64 bits, são convertidos paraDOUBLE, uma vez que o Zerobus Ingest armazena todos os valores da métrica numa única coluna de ponto flutuante.DOUBLErepresenta apenas inteiros exatamente até 2^53, cerca de 9 quadriliões, pelo que valores maioresas_intperdem precisão exata uma vez convertidos. Isto importa principalmente para contadores cumulativos muito grandes, como totais de bytes ao longo da vida ou pedidos. - Os campos OTLP não assinados são armazenados como assinados.
INTeBIGINTsão sempre assinados em Delta, mas OTLP define alguns campos numéricos como não assinados (uint32,uint64,fixed64) ou como contadores de largura fixa muito grandes. Campos como , , , etc., são armazenados as-is numa coluna assinada*_time_unix_nanoflags.dropped_attributes_countINTBIGINTUm valor acima do máximo assinado (i32::MAXparaINT,i64::MAXparaBIGINT) envolve-se num número negativo em vez de causar erro.
Mapeamento de esquema
O Zerobus Ingest mapeia dados OTLP para colunas da tabela Delta, conforme descrito abaixo.
Desnormalização
No protocolo OTLP, os dados de telemetria são aninhados assim.
ResourceSpans (or ResourceLogs, ResourceMetrics)
└── Resource (attributes, schema_url)
└── ScopeSpans (or ScopeLogs, ScopeMetrics)
└── InstrumentationScope (name, version, attributes)
└── Span (or LogRecord, Metric)
O Zerobus Ingest achata esta hierarquia de modo que cada linha contém o contexto completo:
-
resource: Uma estrutura contendo os atributos de recurso (comoVARIANT) edropped_attributes_count. -
resource_schema_url: A URL do esquema dos ResourceSpans, ResourceLogs ou ResourceMetrics que anexam. -
instrumentation_scope: Uma estrutura contendo o nome do escopo, a versão, os atributos (comoVARIANT), edropped_attributes_count. -
span_schema_url/log_schema_url/metric_schema_url: A URL do esquema dos ScopeSpans, ScopeLogs ou ScopeMetrics que os envolvem.
Codificação de ID
trace_id, span_id, e parent_span_id são armazenadas como cadeias minúsculas codificadas em hexadecimais:
-
trace_id: cadeia hexadecimal de 32 caracteres (16 bytes) -
span_id: cadeia hexadecimal de 16 caracteres (8 bytes)
Codificação enum
Os valores de enum (kind, status.code, aggregation_temporality, severity_number) são armazenados como os seus nomes de cadeia conforme definido na especificação OTLP. Por exemplo: SPAN_KIND_SERVER, STATUS_CODE_OK, AGGREGATION_TEMPORALITY_DELTA.
Passos seguintes
- Configure os clientes OpenTelemetry (OTLP) para enviar dados para o Catálogo Unity: Configure um SDK ou Collector OpenTelemetry para enviar traços, registos e métricas para o Zerobus Ingest.
- Consultar dados OpenTelemetry: Exemplos de consultas SQL para explorar os seus dados de telemetria.
- Gestão de erros Zerobus Gest: Resolver erros comuns e códigos de erro.
- Quotas de Ingestão Zerobus: Revise os limites de rendimento e retenção para Ingestão Zerobus.