2014-05-02 8 views
17

Il numero Spark Programming Guide menziona le slice come una caratteristica degli RDD (sia raccolte parallele o dataset Hadoop.) ("Spark eseguirà un'attività per ogni slice del cluster.") Ma nella sezione sulla persistenza RDD, viene utilizzato il concetto di partizioni senza introduzione. Inoltre, lo RDD docs menziona solo le partizioni senza menzionare le porzioni, mentre lo SparkContext docs menziona le sezioni per la creazione di RDD, ma le partizioni per l'esecuzione di lavori su RDD. Questi due concetti sono gli stessi? In caso contrario, come si differenziano?Qual è la differenza tra una partizione RDD e una sezione?

Tuning - Level of Parallelism indica che "Spark imposta automaticamente il numero di‘mappare’compiti da eseguire su ciascun file in base alle sue dimensioni ... e per distribuiti‘ridurre’le operazioni, come ad esempio groupByKey e reduceByKey, utilizza il più grande genitore RDD di numero di partizioni. Puoi passare il livello di parallelismo come secondo argomento .... "Quindi questo spiega la differenza tra partizioni e slice? Le partizioni sono correlate all'archiviazione RDD e le sezioni sono correlate al grado di parallelismo e le giunzioni predefinite vengono calcolate in base alla dimensione dei dati o al numero di partizioni?

+10

Sono quasi sicuro che siano uguali ed è solo una denominazione incoerente. Ho presentato un bug: https://issues.apache.org/jira/browse/SPARK-1701 –

+0

@DanielDarabos Pyspark [parallelize] (http://spark.apache.org/docs/2.2.0/api/python/ pyspark.html # pyspark.SparkContext.parallelize) si riferisce ancora a numSlices, si tratta di un caso limite? –

+0

La modifica del codice è più complicata della modifica della documentazione. C'è probabilmente un mucchio di codice contenente 'sc.parallelize (c, numSlices = 100)'. Questo si spezzerebbe se l'argomento venisse ribattezzato. –

risposta

Problemi correlati