Intentando leer archivos csv ( spark.read.csv("s3://...) ) almacenados en S3 mediante EMR. Hay aproximadamente 100 archivos en el depósito de S3 y ~300 instancias en el clúster de EMR, cada una con dos ejecutores (7 núcleos cada uno). Puedo ver en la interfaz de usuario de Spark que casi todas las tareas se asignan a solo 10 ejecutores, cada uno con 10 tareas, en lugar de que cada tarea se asigne a diferentes ejecutores para aprovechar el procesamiento de cada archivo en paralelo.
¿Hay una perilla para forzar que las tareas se distribuyan entre todos los ejecutores?
spark.dynamicAllocation.enabled se establece en false , spark.executor.instances se establece en la cantidad de ejecutores en el clúster.