Kommentar
Åtkomst till den här sidan kräver auktorisering. Du kan prova att logga in eller ändra kataloger.
Åtkomst till den här sidan kräver auktorisering. Du kan prova att ändra kataloger.
Den här sidan innehåller referensinformation för OpenTelemetry-tabellscheman (OTLP) och datamappning som används av Zerobus Ingest OTLP.
Tabellschema
När OTLP-data tas emot konverterar Zerobus Ingest varje post från den kapslade OTLP-resursen/omfångs-/posthierarkin till en platt, avnormaliserad rad. Information om resursattribut och instrumenteringsomfång bäddas in direkt på varje rad, vilket gör att data omedelbart kan köras utan kopplingar.
Alla attributfält (attributes, resource.attributes, instrumentation_scope.attributes, body för loggar för metadata mått) lagras som VARIANT kolumner.
VARIANT är en halvstrukturerad typ i Delta Lake som lagrar JSON-data samtidigt som de ursprungliga typerna bevaras.
Varje post utökas med Databricks-specifika fält:
| Fält | Beskrivning | Källa |
|---|---|---|
record_id |
Ett systemgenererat ID för unik identifiering och tidsbeställd sortering. | Genereras baserat på tid |
time |
Tidsstämpel i mikrosekunder från Unix-epoken. | Tidsstämpel (i mikrosekunder) som härletts från start_time_unix_nano (intervall) eller time_unix_nano (loggar, mått) |
date |
Datumpartitionskolumn för effektiv filtrering av tidsintervall. | Härledd från time |
service_name |
Kolumnen på den översta nivån för effektiv filtrering efter tjänstnamn, enligt definitionen i OTel-semantikkonventionen. | Extraherad från resource.attributes["service.name"] |
Numerisk precision och signerade typer
På grund av vissa begränsningar för Delta-typen, var vänlig och tänk på följande:
-
Heltalsmetriska värden förlorar precision över 2^53.
Gauge,Sum, ochExemplardatapunkter som rapporterar sitt värde somas_int, ett 64-bitars heltal, konverteras tillDOUBLE, eftersom Zerobus Ingest lagrar alla metriska värden i en enda flyttalskolumn.DOUBLErepresenterar endast heltal exakt upp till 2^53, ungefär 9 biljarder, så störreas_intvärden förlorar exakt precision när de konverteras. Detta är främst viktigt för mycket stora kumulativa räknare, såsom livstidsbyte eller totalsummor för förfrågningar. - Osignerade OTLP-fält lagras som signerade.
INTochBIGINTär alltid signerade i Delta, men OTLP definierar vissa numeriska fält som osignerade (uint32,uint64,fixed64) eller som mycket stora räknare med fast bredd. Fält som*_time_unix_nano,flags,dropped_attributes_count, etc. lagras as-is i en signeradINTellerBIGINTkolumn. Ett värde över det signerade maximumet (i32::MAXförINT,i64::MAXförBIGINT) omsluts till ett negativt tal istället för att ge fel.
Kartläggning av schema
Zerobus Ingest mappar OTLP-data till Delta-tabellkolumner enligt beskrivningen nedan.
Avormalisering
I OTLP-protokollet kapslas telemetridata så här.
ResourceSpans (or ResourceLogs, ResourceMetrics)
└── Resource (attributes, schema_url)
└── ScopeSpans (or ScopeLogs, ScopeMetrics)
└── InstrumentationScope (name, version, attributes)
└── Span (or LogRecord, Metric)
Zerobus Ingest plattar ut den här hierarkin så att varje rad innehåller hela kontexten:
-
resource: En struct som innehåller resursattributen (somVARIANT) ochdropped_attributes_count. -
resource_schema_url: Schema-URL:en från omslutande ResourceSpans, ResourceLogs eller ResourceMetrics. -
instrumentation_scope: En struct som innehåller omfångsnamnet, versionen, attributen (somVARIANT) ochdropped_attributes_count. -
span_schema_url/log_schema_url/metric_schema_url: Schema-URL:en från omslutande ScopeSpans, ScopeLogs eller ScopeMetrics.
ID-kodning
trace_id, span_idoch parent_span_id lagras som gemener hexkodade strängar:
-
trace_id: Hexsträng med 32 tecken (16 byte) -
span_id: Hexsträng med 16 tecken (8 byte)
Uppräkningskodning
Uppräkningsvärden (kind, status.code, aggregation_temporality, severity_number) lagras som deras strängnamn enligt definitionen i OTLP-specifikationen. Till exempel: SPAN_KIND_SERVER, STATUS_CODE_OK, AGGREGATION_TEMPORALITY_DELTA.
Nästa steg
- Konfigurera OpenTelemetry-klienter (OTLP) för att skicka data till Unity Catalog: Konfigurera en OpenTelemetry SDK eller Insamlare för att skicka spårningar, loggar och mått till Zerobus-inmatning.
- Fråga OpenTelemetry-data: Exempel på SQL-frågor för att utforska dina telemetridata.
- Felhantering av Zerobus-inmatning: Felsöka vanliga fel och felkoder.
- Zerobus Ingest-kvoter: Gå igenom genomströmning och bevarandegränser för Zerobus Ingest.