CommunityRecherche & Datenanalysegithub.com

Fehlerbehebung in Datenpipelines

Systematische Ursachenanalyse von Datenpipeline-Fehlern und Datenvorfällen – Job-Fehler, falsche oder fehlende Daten, Duplikate und Aktualitätslücken – durch Rückverfolgung der Linage stromaufwärts, Isolierung der fehlerhaften Stufe, Abgleich mit der Quelle und Planung einer sicheren Korrektur und Nachberechnung. Verwenden Sie dies, wenn eine Pipeline fehlschlägt, Zahlen falsch sind, Daten fehlen oder dupliziert wurden, ein Dashboard veraltet ist oder ein Stakeholder eine Datenabweichung meldet.

Was ist Fehlerbehebung in Datenpipelines?

Diese Fähigkeit (Skill) befähigt KI-Agenten, Datenpipeline-Fehler und Datenqualitätsvorfälle systematisch zu diagnostizieren und zu beheben. Sie ist für Plattformen wie Claude Code, Cursor und andere KI-gestützte Entwicklungsumgebungen konzipiert, die mit Daten-Workflows interagieren. Der Skill bietet einen strukturierten Workflow zur Eingrenzung des Symptoms (z. B. falsche Werte in einer Tabelle), zur Rückverfolgung der Linage stromaufwärts (mittels binärer Suche im DAG), zur Klassifizierung der Ursache (Code-Fehler, schlechte Quelldaten, fehlgeschlagene/partielle Läufe, Nicht-Idempotenz), zum Abgleich der verdächtigen Stufe mit ihrer Quelle (über Zeilenanzahlen und Summen) sowie zur Planung einer idempotenten Nachberechnung. Er enthält typische SQL-Abgleichsabfragen und behandelt häufige Fallstricke wie das Beheben von Symptomen stromabwärts oder manuelle Einmalkorrekturen. Das Ziel ist es, die Fehlerbehebung von einem manuellen Ratespiel in einen messbaren, reproduzierbaren Debugging-Prozess zu verwandeln, der nicht nur das aktuelle Problem behebt, sondern durch gezielte Datenqualitätschecks auch dessen Wiederkehr verhindert. Der Skill definiert klare Benutzeraktionen (Checkliste) und Referenzen auf verwandte Fähigkeiten für spezifische Tools (dbt, Airflow) sowie für Nachberechnungsstrategien.

Funktioniert mit~Claude Code~Codex CLI~Cursor
npx skills add https://github.com/Unknown-333/awesome-data-engineering-skills/tree/main/skills/debugging-data-pipelines

Installed? Explore more Recherche & Datenanalyse skills: affaan-m/uspto-database, affaan-m/scholar-evaluation, affaan-m/literature-review · View all 6 →

In Ihrer bevorzugten KI fragen

Öffnet einen neuen Chat, in dem dieser Agent-Skill bereits geladen ist.

Dokumentation

Was macht Fehlerbehebung in Datenpipelines?

Wann verwenden

  • Ein Pipeline-Job ist fehlgeschlagen oder die Ausgabedaten sind falsch/fehlen/dupliziert.
  • Ein Dashboard ist veraltet oder eine Metrik stimmt nicht mit der Quelle überein.
  • Ein Stakeholder meldet eine Abweichung und Sie müssen die Ursache finden.
  • NICHT verwenden für toolspezifische Laufzeitfehler, die bereits durch debugging-dbt-runs / debugging-airflow-pipelines abgedeckt werden (dort beginnen, dann dies für Datenkorrektheitsvorfälle nutzen).

Workflow

- [ ] Symptom genau definieren (welche Tabelle, Spalte, Zeilen, Zeitfenster)
- [ ] Linage stromaufwärts verfolgen, um die erste Stufe zu finden, in der die Daten falsch sind
- [ ] Isolieren: Handelt es sich um einen Code-Fehler, schlechte Eingabedaten, verspätete Daten oder einen Lauffehler?
- [ ] Verdächtige Stufe mit ihrer Quelle abgleichen (Zeilenanzahlen/Summen)
- [ ] Ursache beheben, dann eine idempotente Nachberechnung der betroffenen Fenster planen
- [ ] Einen Check hinzufügen, damit es nicht stillschweigend wieder auftreten kann
  1. Symptom eingrenzen. „Der Umsatz für 2026-01-15 ist in fct_orders ~30% niedriger“ ist debugbar; „Zahlen sehen komisch aus“ ist es nicht. Besorgen Sie sich Tabelle, Spalte, Zeilen und das Zeitfenster.
  2. Linage stromaufwärts verfolgen. Gehen Sie vom falschen Ausgabepunkt rückwärts durch die Modelle/Aufgaben, um die erste Stufe zu finden, in der die Daten bereits falsch sind. Durchsuchen Sie den DAG binär, anstatt jede Stufe einzeln zu lesen.
  3. Ursache klassifizieren: Code-Änderung, schlechte/verspätete Quelldaten, ein fehlgeschlagener/partieller Lauf oder ein nicht-idempotentes Duplikat.
  4. Abgleich der verdächtigen Stufe mit ihrer Eingabe (Zeilenanzahlen, Schlüsselanzahlen, Summen), um zu bestätigen, wo die Abweichung auftritt.
  5. Korrektur + Nachberechnung der betroffenen Fenster idempotent (siehe designing-backfills-and-replays).
  6. Wiederkehr verhindern mit einem gezielten Datenqualitäts-Check.

Muster

Binäre Linagensuche – Überprüfen Sie eine Stufe auf halbem Weg im DAG: Wenn ihre Daten korrekt sind, liegt der Fehler stromabwärts; wenn falsch, gehen Sie weiter nach oben. Wiederholen.

Quelle gegen Ziel abgleichen für das betroffene Fenster:

-- Stimmen die Anzahlen/Summen zwischen der Stufe und ihrer Eingabe für das fehlerhafte Fenster überein?
SELECT 'Quelle' AS schicht, COUNT(*) n, SUM(betrag) gesamt
FROM staging.bestellungen WHERE bestelldatum = DATE '2026-01-15'
UNION ALL
SELECT 'Ziel', COUNT(*), SUM(betrag)
FROM marts.fct_bestellungen WHERE bestelldatum = DATE '2026-01-15';

Eine Lücke in der Anzahl → verworfene/gefilterte Zeilen oder ein fehlgeschlagener partieller Ladevorgang. Eine Summenlücke bei gleicher Anzahl → ein Transformations-/Logikfehler. Höhere Zielanzahl → Duplikation (nicht-idempotenter Ladevorgang).

Zeitleistenprüfung – Korrelieren Sie das Vorfallszeitfenster mit Deployments, Schemaänderungen der Quelle und dem Ausführungsverlauf; die meisten Vorfälle beginnen mit einer Änderung.

Häufige Fallstricke

  • Beheben von Symptomen stromabwärts – Patchen des Marts, während der Fehler im Staging liegt, führt zu Wiederholung; beheben Sie die erste fehlerhafte Stufe.
  • Manuelle Einmalkorrekturen an Produktionsdaten – nicht nachvollziehbar und nicht wiederholbar; korrigieren Sie stattdessen den Code und führen Sie ihn idempotent erneut aus.
  • Lineares Lesen des gesamten DAG – verwenden Sie stattdessen die binäre Linagensuche.
  • Abgleich überspringen – Raten, wo Daten divergieren, kostet Zeit; messen Sie Anzahlen/Summen pro Stufe.
  • Kein präventiver Check nach der Korrektur – dieselbe Fehlerklasse kehrt unbemerkt zurück.

Individual skills in this repo

This repo contains 9 individual skills — each has its own dedicated page.

Unknown-333/authoring-airflow-dags

Write production-grade Apache Airflow DAGs using the TaskFlow API — idempotent tasks, correct scheduling and catchup, retries/SLAs, connections/variables, and avoiding top-level code. Use when creating or reviewing Airflow DAGs, scheduling pipelines, wiring task dependencies, configuring retries/backfills, or fixing non-idempotent tasks.

Unknown-333/building-dagster-assets

Build Dagster pipelines using software-defined assets — asset dependencies, partitions, resources and IO managers, asset checks, and schedules/sensors. Use when creating Dagster assets or jobs, modeling data as assets, adding partitions or backfills, wiring resources/IO managers, or migrating from task-based orchestration to assets.

Unknown-333/building-dbt-models

Build well-structured dbt models — staging/intermediate/marts layers, ref() and source(), materializations, and incremental models with the right strategy. Use when creating or refactoring dbt models, choosing table vs view vs incremental, structuring a dbt project, or writing incremental logic.

Unknown-333/building-feature-pipelines

Build ML feature pipelines and feature stores — point-in-time-correct joins to avoid label leakage, offline/online parity, feature freshness and backfills, and materialization with tools like Feast. Use when engineering features for ML, preventing train/serve skew or data leakage, building a feature store, or backfilling historical features for training.

Unknown-333/building-iceberg-tables

Design and operate Apache Iceberg tables — partitioning and hidden partitioning, partition/schema evolution, snapshots and time travel, compaction and small-file cleanup, and MERGE/upsert for lakehouse tables on Spark, Flink, Trino, or Snowflake. Use when creating or maintaining Iceberg tables, choosing partitioning, evolving schema/partitions, or fixing small-file and metadata bloat.

Unknown-333/building-ingestion-pipelines

Build batch and incremental data ingestion (extract-load) pipelines — full vs incremental extraction, change data capture (CDC), watermarks and high-water marks, API pagination and rate limits, and choosing managed EL tools (Fivetran, Airbyte) vs custom code. Use when ingesting data from databases, APIs, files, or SaaS into a warehouse/lake, or designing incremental extraction and CDC.

Unknown-333/building-kafka-consumers

Build reliable Apache Kafka consumers and producers — consumer groups and partition assignment, offset commit strategy, at-least-once vs exactly-once, idempotent/transactional producers, rebalancing, and dead-letter handling. Use when writing Kafka consumers/producers, configuring offset commits or consumer groups, tuning throughput, or handling rebalances and poison messages.

Unknown-333/designing-backfills-and-replays

Plan and run safe data backfills and replays — idempotent reprocessing of historical windows, partition-by-partition execution, isolating backfill compute from production, verifying results, and avoiding double-counting or changed history. Use when backfilling a new or fixed model, reprocessing after a bug, replaying events, or loading history for a new pipeline without corrupting existing data.

Unknown-333/designing-data-contracts

Define and enforce data contracts between producers and consumers — explicit schema, semantics, ownership, SLAs, and versioning — to prevent silent upstream changes from breaking downstream pipelines. Use when a producer schema change could break consumers, defining an interface between teams/services and the warehouse, or adding schema enforcement at ingestion.

Verwandte Skills