J'ai la séquence de travail Spark connecté via Luigi et fonctionnant sur S3 sur un cluster de 30 machines (15 Go de RAM chacune) qui pendent régulièrement sur différentes étapes. Aujourd'hui c'était lors du traitement de 5 Go de données. L'étape prend déjà 3,5hdébogage application Spark fonctionnant sur EMR
Cette étape qui se bloque est simplement le traitement des données et plus tard groupByKey sur l'ensemble de données de paires (ID utilisateur, 1L) et reduceGroups pour obtenir les comptes d'événements utilisateur. Même si un utilisateur a des événements de 1m (ce qui est peu probable parce que précédemment, après le filtrage des bots max était de 300K), il ne devrait pas y avoir 7 partitions sur un seul nœud prenant 3 heures lorsque le repos est terminé.
Une idée? Peut-être que le problème est que nous utilisons des ensembles de données qui sont encore expérimentaux? Comment pouvons-nous le déboguer? Thread dump from the executor taking 3 hours