本文へ移動
Telemetry
データ品質 SQL レシピ

重複するイベント ID を検索する

複数回配信されたイベント識別子を特定し、重複処理が機能しているかどうかを測定します。

初心者telemetry_eventsレビュー済み 2026-07-27テスト済み アパッチ DataFusion 45.2.0

レビュー者 Telemetry 製品チーム . SQL の互換性、イベント コントラクト、合成出力、および操作上の注意事項. 基準と所有権を確認する

質問に回答しました

複数回受信されたイベント ID はどれですか?

分散システムでは再試行は正常です。下流分析ですべての配信が新しいビジネス成果としてカウントされる場合、重複した識別子がデータ品質の問題になります。

イベント契約

クエリが期待するフィールド

フィールド種類なぜ存在するのか
timestamp_utcTimestampイベント発生時刻。
event_idUtf8配信の再試行に再利用される安定した識別子。
event_nameUtf8イベント契約名。
sourceUtf8プロデューサー名。
DataFusion SQL

クエリをコピーする

sql
SELECT
  event_id,
  event_name,
  source,
  COUNT(*) AS deliveries,
  MIN(timestamp_utc) AS first_seen_at,
  MAX(timestamp_utc) AS last_seen_at
FROM telemetry_events
WHERE timestamp_utc >= now() - INTERVAL '7 days'
  AND event_id IS NOT NULL
GROUP BY event_id, event_name, source
HAVING COUNT(*) > 1
ORDER BY deliveries DESC, last_seen_at DESC
LIMIT 100;

この読み取り専用クエリは、空の型付きテーブルに対して計画され、実行されます。 アパッチ DataFusion 45.2.0。決定論的なサンプル出力は合成され、個別にレビューされます。フィールド タイプ、しきい値、ビジネス定義を独自のデータと照合して検証します。 テスト方法を読んでください。

クエリ結果

イベントIDごとの繰り返し配信

請求書イベントは 4 回配信されたため、ダウンストリームで冪等のカウントが必要です。

event_idevent_namesourcedeliveriesfirst_seen_atlast_seen_at
evt_8f31invoice_paidstripe_webhook412:01:0312:06:44
evt_77acjob_completedbilling_worker210:14:2210:14:39

合成出力例。運用上の決定に使用する前に、独自のイベント スキーマとしきい値に対してクエリを実行します。

Repeated deliveries by event ID: Find Duplicate Event IDs 結果例からの合成 deliveries 値の静的チャート
決定論的な出力例のインデックス可能な SVG。記事、ランブック、または出典を明示した設計レビューのためにダウンロードしてください。

例を再現する

パブリックフィクスチャをダウンロードする

JSON バンドルには、型付きイベント コントラクトが含まれています。 illustrative 入力行、正確な SQL、予想される出力、レビューメモ、およびエンジンのバージョン。 CSV には、表示された結果が含まれます。

SQL の仕組み

  1. 1event_id でグループ化すると、時間的に近いイベントが重複していると想定せずに、配信の再試行が明らかになります。
  2. 2event_name とソースを含めると、異なるコントラクト間で識別子を誤って再利用するプロデューサーをキャッチします。
  3. 3最初と最後のタイムスタンプは、重複が短い再試行バーストで到着するか、それともかなり遅れて到着するかを示します。

決定すべきエッジケース

  • ダウンストリームのコンシューマが冪等性を必要とする場合は、再試行のたびに新しいイベント ID を生成しないでください。
  • 無関係なイベント間で再利用された識別子は、無害な重複ではなく、インストルメンテーションの欠陥です。
  • 重複が保存前に削除された場合は、再試行動作が監視可能な状態を維持できるように、別の重複排除結果を出力します。

推奨されるダッシュボード

  • 統計: 選択した期間のイベント ID が重複しています
  • バー: ソースごとの重複配信
  • 表: 最新の反復識別子

アラートガイダンス

重複ボリュームまたは最大配信数が通常の再試行ベースラインを超えた場合にアラートを送信します。

アラート設定を読む

レシピを活用する

関連する機器とガイド

ソースデータを定義する

この分析のイベント スキーマ

分析を続ける

実際のイベントで実行する

テーブルを作成し、フィールドを調整して、結果を保存します

無料で始めて、構造化されたイベントを送信し、クエリ結果をグラフ、共有ダッシュボード ウィジェット、またはアラート入力として使用します。

API キーを取得する