Kapitel 14. Verteilte Shared Variables

Diese Arbeit wurde mithilfe von KI übersetzt. Wir freuen uns über dein Feedback und deine Kommentare: translation-feedback@oreilly.com

Unter gibt es neben der RDD-Schnittstelle (Resilient Distributed Dataset) zwei weitere Arten von Low-Level-APIs in Spark: Broadcast-Variablen und Akkumulatoren. Das sind Variablen, die du in deinen benutzerdefinierten Funktionen verwenden kannst (z. B. in einer map Funktion auf einem RDD oder einem Datenrahmen), die besondere Eigenschaften haben, wenn sie auf einem Cluster laufen. Mit Akkumulatoren kannst du die Daten aller Tasks zu einem gemeinsamen Ergebnis addieren (z. B. um einen Zähler zu implementieren, mit dem du sehen kannst, wie viele der Eingabedatensätze deines Jobs beim Parsen fehlgeschlagen sind), während du mit Broadcast-Variablen einen großen Wert auf allen Worker Nodes speichern und ihn über viele Spark-Aktionen hinweg wiederverwenden kannst, ohne ihn erneut an den Cluster zu senden. In diesem Kapitel erfährst du, warum diese Variablentypen so wichtig sind und wie du sie verwenden kannst.

Broadcast-Variablen

Mit den Broadcast-Variablen kannst du einen unveränderlichen Wert effizient im Cluster weitergeben, ohne diese Variable in einer Funktionsschließung zu kapseln. Der normale Weg, eine Variable in deinem Treiberknoten innerhalb deiner Aufgaben zu verwenden, besteht darin, sie einfach in deinen Funktionsclosures zu referenzieren (z. B. in einer map Operation), aber das kann ineffizient sein, ...

Get Spark: Der endgültige Leitfaden now with the O’Reilly learning platform.

O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.