tutorial spark org examples ejemplo performance apache-spark hadoop apache-spark-sql bigdata

performance - org - apache spark vs hadoop



¿Cuál es la diferencia entre spark.sql.shuffle.partitions y spark.default.parallelism? (1)

A partir de la respuesta here , spark.sql.shuffle.partitions configura el número de particiones que se usan cuando se barajan datos para uniones o agregaciones.

spark.default.parallelism es el número predeterminado de particiones en RDD devueltas por transformaciones como join , reduceByKey y parallelize cuando el usuario no las establece explícitamente. Tenga en cuenta que spark.default.parallelism parece funcionar solo para RDD sin RDD y se ignora cuando se trabaja con marcos de datos.

Si la tarea que está realizando no es una unión o agregación y está trabajando con marcos de datos, la configuración de estos no tendrá ningún efecto. Sin embargo, puede establecer el número de particiones usted mismo llamando a df.repartition(numOfPartitions) (no olvide asignarlo a un nuevo val ) en su código.

Para cambiar la configuración en su código, simplemente puede hacer:

sqlContext.setConf("spark.sql.shuffle.partitions", "300") sqlContext.setConf("spark.default.parallelism", "300")

Alternativamente, puede realizar el cambio al enviar el trabajo a un clúster con spark-submit :

./bin/spark-submit --conf spark.sql.shuffle.partitions=300 --conf spark.default.parallelism=300

¿Cuál es la diferencia entre spark.sql.shuffle.partitions y spark.default.parallelism ?

He intentado configurar ambos en SparkSQL , pero el número de tarea de la segunda etapa siempre es 200.