Ich lese Spark: RDD operations und ich bin Ausführung:RDD Grundlagen über Partitionen
In [7]: lines = sc.textFile("data")
In [8]: lines.getNumPartitions()
Out[8]: 1000
In [9]: lineLengths = lines.map(lambda s: len(s))
In [10]: lineLengths.getNumPartitions()
Out[10]: 1000
In [11]: len(lineLengths.collect())
Out[11]: 508524
aber ich würde erwarten, dass meine Daten-Set in Teile aufgespalten wird, wie viele? Da die Anzahl der Partitionen, also 1000.
Dann würde die map()
auf jeder Partition ausgeführt und ein lokales Ergebnis zurück (die dann reduziert werden soll), aber wenn dies der Fall ist, würde ich lineLenghts
erwarten, die eine Liste ist von Zahlen, um Länge gleich zu den # Partitionen zu haben, was nicht der Fall ist.
Was fehlt mir?