Lade zuerst in ein separates Ziel, validier gegen die bestehende Tabelle und tausch dann. Verarbeite in Stücken nach Partition statt in einem gigantischen Job, fahr sie mit begrenzter Parallelität, damit du produktive Workloads nicht aushungerst, und mach jedes Stück idempotent, damit Fehler an Ort und Stelle wiederholt werden können. Verfolg den Fortschritt explizit und rechne damit, dass sich Dimensionsattribute und Quelldaten seither geändert haben können.
Warum Interviewer das fragen
Backfills sind eine Feuertaufe und ein verbreiteter Weg, einen zweiten Incident auszulösen. Interviewer wollen Chunking, Ressourcentrennung von der Produktion und Validierung vor dem Tausch. Sie prüfen außerdem, ob dir klar ist, dass das Neuberechnen von Historie nicht immer reproduzierbar ist, weil Dimensionen, Wechselkurse und Quelldatensätze sich unter dir verändert haben können.
So baust du deine Antwort auf
- Schreib in eine Schattentabelle, damit die Produktion unangetastet bleibt.
- Chunk nach Partition und begrenz die Parallelität, um Live-Workloads zu schützen.
- Mach jedes Stück idempotent und unabhängig wiederholbar.
- Validier über Abstimmung gegen bekannte, verlässliche Aggregate.
- Tausch atomar und behalt die alte Tabelle für ein Rollback-Fenster.
Beispielantwort
Ich mache einen Backfill nie in place. Ich baue in eine Schattentabelle, validiere und tausche dann per atomarem Rename oder Zeiger auf eine View, und behalte die alte eine Woche, falls jemand eine Abweichung entdeckt. Der Lauf selbst wird nach Partition gestückelt, meist monatlich oder wöchentlich je nach Volumen, mit vielleicht vier parallel, denn der schnellste Weg zu einem zweiten Incident ist, das Warehouse zu sättigen und alle geplanten Jobs gleichzeitig zu sprengen. Wo die Plattform es erlaubt, fahre ich das auch auf einem separaten Warehouse oder einer eigenen Ressourcengruppe. Die Validierung ist der Teil, den Leute überspringen. Ich nehme eine Handvoll Aggregate, denen die Finanzabteilung bereits vertraut, etwa Umsatz pro Monat, und vergleiche alt gegen neu, mit erwarteten Abweichungen nur dort, wo der Bug gegriffen hat. Ändert sich ein Monat, der sich nicht ändern sollte, ist der Fix falsch. Was ich früh anspreche: Historie ist nicht immer reproduzierbar. Ist die Dimension Typ 1 und wurde überschrieben, liefert die Neuberechnung heutige Attribute, nicht die historischen.
Steht dieses Vorstellungsgespräch bald an? GhostPilot hört bei deinem Live-Call mit, erkennt die Frage in dem Moment, in dem sie gestellt wird, und bringt dir eine strukturierte Antwort in Echtzeit auf den Bildschirm. Probier es im nächsten Mock aus, oder hol dir einen $29 Session Pass, kein Abo, für den Ernstfall.
So funktioniert esNachfragen, mit denen du rechnen solltest
- Wie verhinderst du, dass ein Backfill deine produktiven Workloads aushungert?
- Was, wenn das Quellsystem die Rohdaten nicht mehr vorhält?
- Wie kommunizierst du Stakeholdern eine Änderung historischer Zahlen?
Weitere Fragen für Data Engineer
Dein Interviewer stellt seine eigene Version davon. Kopier deine echte Stellenbeschreibung in den kostenlosen Question Predictor und bekomm die 20 Fragen, die diese Rolle am wahrscheinlichsten stellt, samt dem, worauf jede wirklich abzielt.
Meine Fragen vorhersagen