¿Cómo funciona el particionamiento en Spark?

Estoy tratando de entender cómo se hace la partición en Apache Spark. ¿Pueden ayudarme chicos por favor?

Aquí está el escenario:

  • un maestro y dos nodos con 1 núcleo cada uno
  • un archivo count.txt de 10 MB de tamaño

¿Cuántas particiones crea lo siguiente?

 rdd = sc.textFile(count.txt) 

¿El tamaño del archivo tiene algún impacto en el número de particiones?

De forma predeterminada, se crea una partición para cada partición HDFS, que de forma predeterminada es de 64 MB (de la Guía de progtwigción de Spark ).

Es posible pasar otro parámetro defaultMinPartitions que anula la cantidad mínima de particiones que creará la chispa. Si no anulas este valor, chispa creará al menos tantas particiones como spark.default.parallelism .

Como se supone que spark.default.parallelism es el número de núcleos en todas las máquinas de su clúster, creo que se crearán al menos 3 particiones en su caso.

También puede repartition o coalesce un RDD para cambiar el número de particiones que a su vez influye en la cantidad total de paralelismo disponible.