Question

J'utilise PIG latin pour le traitement du journal parce que son expressivité dans un problème où les données ne sont pas assez grand pour vous soucier de la constitution d'un cluster Hadoop. Je suis en PIG en mode local mais je pense qu'il n'utilise pas tous les noyaux dont il dispose (16 pour le moment), suivi de la CPU montre 200% de l'utilisation du processeur au maximum.

Y at-il tutoriel ou des recommandations pour un réglage fin PIG pour l'exécution locale? Je suis sûr que tous les cartographes peuvent utiliser tous les cœurs disponibles avec quelques ajustements faciles. (Dans mon script, je l'ai déjà mis en place le paramètre default_parallel 20)

Meilleures salutations.

Était-ce utile?

La solution

Pig montre clairement que le fonctionnement local est destiné à être exécuté seul thread, en prenant différents chemins de code pour certains fonctions qui seraient autrement distribués trier. utiliser En conséquence, l'optimisation pour le mode local de porc semble que la mauvaise solution au problème posé.

Avez-vous envisagé l'exécution d'un cluster local, « pseudo-distribué » au lieu d'investir dans la configuration complète du cluster? Vous pouvez suivre instructions de Hadoop pour un fonctionnement pseudo-distribué, puis pointez Pig à localhost . Cela aurait le résultat souhaité, au détriment de la mise en service et désassemblage en deux étapes.

Vous voulez augmenter le nombre de cartographes par défaut et réducteurs à consommer tous les cœurs disponibles sur votre machine. Heureusement, cela est raisonnablement bien documenté (il est vrai, dans la documentation de l'installation du cluster ); définir simplement mapred.tasktracker.map.tasks.maximum et mapred.tasktracker.reduce.tasks.maximum dans votre copie locale de $HADOOP_HOME/conf/mapred-site.xml.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top