Zerobus 取り込みの OpenTelemetry テーブル リファレンス

このページでは、 Zerobus Ingest OTLP で使用される OpenTelemetry (OTLP) テーブル スキーマとデータ マッピングの参照情報を提供します。

テーブル スキーマ

OTLP データが到着すると、Zerobus Ingest は、入れ子になった OTLP リソース/スコープ/レコード階層の各レコードを、非正規化されたフラットな行に変換します。 リソース属性とインストルメンテーション スコープ情報は各行に直接埋め込まれており、データは結合なしですぐにクエリ可能になります。

すべての属性フィールド (attributesresource.attributesinstrumentation_scope.attributes、ログの body 、メトリックの metadata ) は、 VARIANT 列として格納されます。 VARIANT は、元の型を保持しながら JSON データを格納する Delta Lake の半構造化型です。

各レコードは、Databricks 固有のフィールドで拡張されます。

フィールド 説明 情報源
record_id 一意の識別と時間順の並べ替えのためのシステム生成 ID。 時間に基づいて生成される
time Unix エポックからのタイムスタンプ (マイクロ秒単位)。 start_time_unix_nano (スパン) またはtime_unix_nano (ログ、メトリック) から派生したタイムスタンプ (マイクロ秒単位)
date 時間範囲のフィルター処理を効率的に行う日付パーティション列。 time から派生
service_name OTel セマンティック規則で定義されているように、サービス名による効率的なフィルター処理を行う最上位レベルの列。 から抽出 resource.attributes["service.name"]

数値精度と符号型

デルタ型の制限があるため、以下の点にご注意ください。

  • Gaugeデータ点で値をSum(64ビット整数)として報告するデータは、すべての指標値を単一の浮動小数点列に格納するため、4Exemplarに変換されます。 DOUBLE 整数は2^53まで正確には約9兆単位でしか表すため、大きな as_int 値は変換後に精度を失います。 これは主にライフタイムバイト数やリクエスト合計など非常に大きな累積カウンターに影響します。
  • 署名されていないOTLPフィールドは署名済みとして保存されます。 INT そして BIGINT は常にデルタで符号付きですが、OTLPでは一部の数値フィールドを符号なし(uint32uint64fixed64)や非常に大きな固定幅カウンタとして定義しています。 *_time_unix_nanoflagsdropped_attributes_countなどのフィールドは、符号付きINTまたはBIGINT列に as-is 保存されます。 符号付き最大値を超える値(i32::MAXINTi64::MAXBIGINT)は誤りではなく負の数にラップされます。

スキーマ マッピング

Zerobus 取り込みでは、以下に説明するように OTLP データが Delta テーブル列にマップされます。

非 正規 化

OTLP プロトコルでは、テレメトリ データはこのように入れ子になっています。

ResourceSpans (or ResourceLogs, ResourceMetrics)
  └── Resource (attributes, schema_url)
       └── ScopeSpans (or ScopeLogs, ScopeMetrics)
            └── InstrumentationScope (name, version, attributes)
                 └── Span (or LogRecord, Metric)

Zerobus 取り込みでは、各行に完全なコンテキストが含まれるように、この階層がフラット化されます。

  • resource:リソース属性 ( VARIANT) と dropped_attributes_countを含む構造体。
  • resource_schema_url: 外側の ResourceSpans、ResourceLogs、または ResourceMetrics のスキーマ URL。
  • instrumentation_scope: スコープ名、バージョン、属性 ( VARIANT)、および dropped_attributes_countを含む構造体。
  • span_schema_url / log_schema_url / metric_schema_url: 外側の ScopeSpans、ScopeLogs、または ScopeMetrics のスキーマ URL。

ID エンコード

trace_idspan_id、および parent_span_id は、小文字の 16 進エンコード文字列として格納されます。

  • trace_id: 32 文字の 16 進文字列 (16 バイト)
  • span_id: 16 文字の 16 進文字列 (8 バイト)

列挙型のエンコード

列挙値 (kindstatus.codeaggregation_temporalityseverity_number) は、OTLP 仕様で定義されている文字列名として格納されます。 例: SPAN_KIND_SERVERSTATUS_CODE_OKAGGREGATION_TEMPORALITY_DELTA

次のステップ