2016-11-11 1 views
0

J'utilise UR et je me demande, pourquoi lors de la formation le plus d'emploi du temps seulement 4 cœurs, lorsque 8 est disponibleUniversalRecommender n'utilise pas tous les cœurs avaliable tandis que la formation

La plupart des temps de formation sont coincés dans Job 17 "prendre à EsSpark.scala: 60" Stage45 "flatMap AtB.scala: 234"

Quelqu'un peut-il expliquer ce qu'il fait exactement à cette étape et peut-il utiliser les 8 cœurs (pas seulement 4)? Je suppose, il n'y a pas assez de RAM, car il utilise tous les 64 G RAM disponibles, mais quand j'ai couru cela sur un groupe d'étincelles (2 instances) la situation ne change pas, il utilise aussi 4 cœurs en somme.

cpu usage

+0

il peut être parce que sur la table de séparation de 4 parties: '16/11/11 11:37:19 INFO TableInputFormatBase: longueur de la fente d'entrée: 8,5 G octets. 16/11/11 11:37:19 INFO TableInputFormatBase: Longueur de segment d'entrée: 4,2 G octets. 16/11/11 11:37:19 INFO TableInputFormatBase: Longueur de segment d'entrée: 1,3 G octets. 16/11/11 11:37:19 INFO TableInputFormatBase: Longueur de segment d'entrée: 7.2 G octets.' Mais comment puis-je changer ce comportement? – Igor

Répondre

0

Le problème était que la prédiction IO utiliser TableInputFormatBase, qui, par défaut faire RDD avec nombre de partitions = # régions HBase

Donc, pour augmenter le nombre de partitions de RDD, il est posible de régions intermédiaires en HBase ou utiliser RDD.partition (#of partitions)