2017-07-07 2 views
1

Wenn ich nur 1 Executor mit Speicher 25 GB und wenn es nur eine Aufgabe zu einer Zeit ausführen kann, dann ist es möglich, Verarbeitung (Transformation und Aktion) 1 TB Daten wenn Ja dann wie es wird gelesen und wo Zwischendaten gespeichert werden?Wie Spark Hand Daten größer als Cluster-Speicher

Auch für das gleiche Szenario, wenn Hadoop-Datei 300 Eingang Split hat dann wird es 300 Partitionen in RDD so in diesem Fall, wo wird diese Partitionen sein? wird es nur auf Hadoop-Festplatte bleiben und meine einzelne Aufgabe wird 300 mal ausgeführt werden?

Antwort

1

Ich finde eine gute Antwort auf hortonworks Website.

Im Gegensatz zur landläufigen Meinung Spark ist nicht im Speicher nur

a) Einfach kein Shuffle lesen (nicht beitritt, ...)

Für die Anfangs liest Funken wie MapReduce liest die Daten in ein Strom und> verarbeitet es, wie es kommt. I.e. es sei denn, es gibt einen Grund, warum Funke die vollen RDDs nicht im Speicher findet (Sie können ihm aber sagen, dass er es tun soll, wenn Sie einen kleinen Dataset zwischenspeichern wollen). Eine RDD ist resilierfähig, weil spark es neu erstellen kann (lesen Sie einen Block von hdfs) zum Beispiel) nicht weil es in mem an verschiedenen Orten gespeichert ist. (Das kann aber auch getan werden.)

Wenn Sie also die meisten Ihrer Daten herausfiltern oder eine effiziente Aggregation durchführen, die auf der Kartenseite aggregiert, haben Sie nie die volle Tabelle im Speicher.

b) Shuffle

Diese sehr ähnlich gemacht wird MapReduce, da sie die Karte Ausgänge auf Disc schreibt und liest sie mit den Reduzierungen durch http. Allerdings verwendet spark eine aggressive Dateisystem-Pufferstrategie für das Linux-Dateisystem. Wenn das Betriebssystem über Speicher verfügt, werden die Daten nicht wirklich auf den physischen Datenträger geschrieben.

c) Nach Shuffle

RDDs nach Shuffle wird in der Regel durch den Motor zwischengespeichert (sonst ein ausgefallener Knoten oder RDD würde einen vollständigen Wieder Lauf des Auftrags erforderlich ist) jedoch als abdelkrim erwähnt Funken diese Scheibe verschütten können, wenn Sie überstimmen Sie das.

d) Funken Streaming

Dies ist ein bisschen anders. Spark-Streaming erwartet, dass alle Daten in den Speicher passen, wenn Sie die Einstellungen nicht überschreiben.

Here's is the original page.

und das Design Dissertation Initialzündung durch Matei Zaharia hilft auch. (section 2.6.4 Behavior with Insufficient Memory)

Wünschen, dass es etwas Nützliches gibt.

+0

Wenn Sie Store auf der Festplatte sagen, ist es Arbeitsmaschine Festplatte oder hdfs? – Rahul

+0

Ich denke, es ist Arbeitsmaschine Festplatte, wie mapreduce. – neilron

Verwandte Themen