2016-04-22 1 views
0

Cela m'a été demandé ..Combien de mappeur est utilisé dans la ruche pour traiter le tableau de 1 Go

S'il y a 10 noeuds et le tableau de 1 Go est nécessaire de traiter dans la ruche. Alors, combien de mappeur est utilisé?

+0

est-ce un casse-tête? – YoungHobbit

+0

c'est l'une des questions que je pose dans les interviews ... cela dépend de la configuration de la table, de son format de fichier et de la configuration de HDFS. –

+0

Roberto Merci de répondre, pouvez-vous être plus bref à ce sujet? Merci beaucoup à l'avance – user1999758

Répondre

1

Comment déterminer le nombre de mappeurs?

Il est relativement facile de déterminer mais plus difficile de contrôler le nombre de mappeurs par rapport au nombre de réducteurs. Le nombre de mappeurs peut être déterminé comme suit: Déterminez d'abord que les fichiers d'entrée sont divisibles ou non. Les fichiers GZipped et certains autres fichiers compressés ne peuvent pas être divisés par Hadoop. Les fichiers texte normaux, les documents JSON, etc. sont séparables.

Si les fichiers sont sécable:

  1. Calculer la taille totale des fichiers d'entrée.
  2. Le nombre de mappeurs = taille totale calculée ci-dessus/taille de la fraction d'entrée définie dans la configuration Hadoop. Par exemple, si la taille totale de l'entrée est de 1 Go et que la taille du partage d'entrée est définie sur 128 Mo, alors: nombre de mappeurs = 1 x 1024/128 = 8 mappeurs.

Si les fichiers ne sont pas séparables:

  1. Dans ce cas, le nombre de cartographes est égal au nombre de fichiers d'entrée.

De plus, le format de fichier joue également un rôle.

+0

Salut Nidhin, Depuis, c'est la table Hive (HDFS). Je pense que le fractionnement a déjà été fait. En travaillant avec hadoop, il est bon de dire «nombre de split = nombre de mappeurs». Mais c'est un travail à Hive? – user1999758