Entwerfen von datenintensiven Anwendungen (German Edition), 2nd Edition
by Martin Kleppmann, Chris Riccomini
Kapitel 12. Stream -Verarbeitung
Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com
Ein funktionierendes komplexes System hat sich ausnahmslos aus einem funktionierenden einfachen System entwickelt. Das Gegenteil scheint auch zuzutreffen: Ein von Grund auf neu entwickeltes komplexes System funktioniert nie und kann auch nicht zum Funktionieren gebracht werden.
John Gall, Systemantics (1975)
In Kapitel 11 haben wir uns mit der Stapelverarbeitung beschäftigt – Techniken, die eine Reihe von Dateien als Eingabe lesen und eine neue Reihe von Ausgabedateien erzeugen. Die Ausgabe ist eine Art abgeleiteter Daten, also ein Datensatz, der bei Bedarf durch erneutes Ausführen des Stapelprozesses wieder erstellt werden kann. Wir haben gesehen, wie diese einfache, aber leistungsstarke Idee genutzt werden kann, um Suchindizes, Empfehlungssysteme, Analysen und mehr zu erstellen.
t jedoch eine wichtige Annahme im gesamten Kapitel 11: Die Eingabe ist begrenzt, d. h. sie hat eine bekannte und endliche Größe, sodass der Batch-Prozess weiß, wann er mit dem Lesen der Eingabe fertig ist. Zum Beispiel muss der für MapReduce zentrale Sortiervorgang die gesamte Eingabe lesen, bevor er mit der Ausgabe beginnen kann, da der allerletzte Eingabedatensatz derjenige mit dem niedrigsten Schlüssel sein könnte und somit der allererste Ausgabedatensatz sein muss, sodass ein vorzeitiger Start der Ausgabe keine Option ist.
In der ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access