2016-07-29 18 views
0

Ich arbeite an einem Projekt mit Apache Funke. Ich war mir der Transformationen und Aktionen in Spark ziemlich bewusst, aber plötzlich bin ich verwirrt mit der Funktion sortByKey() in Spark.Sortbykey in Apache Funke

Wie funktioniert das, betrachtet es alle Partitionen (d. H. Alle RDDs) zum Sortieren oder Daten wird in einer einzigen RDD? Sortiert.

Meine Anforderung ist es, Daten global sortiert zu bekommen, genauso wie wir in jeder Programmiersprache sortieren (Collections.sort() in Java).

Betrachten Sie den folgenden Code: (xyz nach einiger Reihe von Operationen RDD)

JavaPairRDD<Float,Object>sorted = xyz.transformToPair(rdd->rdd.sortByKey()); 

Ist die obige Aussage Ergebnis gibt, die global sortiert ist?

Wenn nein, wie werden die Daten global sortiert, d. H. Alle Daten unter allen Partitionen berücksichtigt?

Vielen Dank im Voraus.

Antwort

0

Es ist global geordnet (OrderedRDDFunctions):

Sortieren der durch Schlüssel RDD, so dass jede Partition eine sortierte Reihe der Elemente enthält. Das Sammeln oder Speichern der resultierenden RDD wird eine geordnete Liste von Datensätzen zurückgeben oder ausgeben (in diesem Fall werden sie in mehrere Datei-X-Dateien im Dateisystem in der Reihenfolge der Schlüssel geschrieben).

Verwandte Themen