Utilisation de spark 2.4.4 fonctionnant en mode cluster YARN avec le planificateur spark FIFO.
Je soumets plusieurs opérations de trame de données spark (c'est-à-dire l'écriture de données dans S3) à l'aide d'un exécuteur de pool de threads avec un nombre variable de threads. Cela fonctionne très bien si j'ai ~ 10 threads, mais si j'utilise des centaines de threads, il semble y avoir un blocage, aucun travail n'étant planifié selon l'interface utilisateur Spark.
Quels facteurs contrôlent le nombre de travaux pouvant être planifiés simultanément? Ressources du pilote (par exemple mémoire / cœurs)? D'autres paramètres de configuration d'allumage?
ÉDITER:
Voici un bref synopsis de mon code
ExecutorService pool = Executors.newFixedThreadPool(nThreads);
ExecutorCompletionService<Void> ecs = new ExecutorCompletionService<>(pool);
Dataset<Row> aHugeDf = spark.read.json(hundredsOfPaths);
List<Future<Void>> futures = listOfSeveralHundredThings
  .stream()
  .map(aThing -> ecs.submit(() -> {
    df
      .filter(col("some_column").equalTo(aThing))
      .write()
      .format("org.apache.hudi")
      .options(writeOptions)
      .save(outputPathFor(aThing));
    return null;
  }))
  .collect(Collectors.toList());
IntStream.range(0, futures.size()).forEach(i -> ecs.poll(30, TimeUnit.MINUTES));
exec.shutdownNow();
À un moment donné, au fur et à nThreadsmesure que l' augmentation augmente, spark ne semble plus planifier de travaux, comme en témoignent:
ecs.poll(...)expirer finalement- L'onglet Spark UI jobs ne montrant aucun travail actif
 - L'onglet Spark UI executors ne montrant aucune tâche active pour aucun exécuteur
 - L'onglet SQL Spark UI affichant 
nThreadsles requêtes en cours d'exécution sans ID de travail en cours d'exécution 
Mon environnement d'exécution est
- AWS EMR 5.28.1
 - Spark 2.4.4
 - Noeud maître = 
m5.4xlarge - Nœuds principaux = 3x 
rd5.24xlarge spark.driver.cores=24spark.driver.memory=32gspark.executor.memory=21gspark.scheduler.mode=FIFO
jstack -lpour obtenir un vidage de thread avec des informations de verrouillage.