Split size vs taille de Bloc dans Hadoop
Quelle est la relation entre la taille du segment et de la taille du bloc dans Hadoop? Comme je l'ai lu dans cette, split taille doit être n fois de la taille d'un bloc (n est un entier et n > 0), est-ce correct? Est-il doit en relation entre split de la taille et de la taille du bloc?
OriginalL'auteur duong_dajgja | 2015-05-30
Vous devez vous connecter pour publier un commentaire.
Dans HDFS architecture il y a une notion de blocs. Typique de taille de bloc utilisée par HDFS est de 64 MO. Lorsque l'on place un gros fichier en HDFS haché jusqu'à 64 MO de morceaux(basé sur la configuration par défaut des blocs), Supposons que vous avez un fichier de 1 GO et que vous souhaitez placer ce fichier dans HDFS, alors il y aura 1 GO/64 MO =
16 split/blocs et ces blocs sera distribuer dans les DataNodes. Ces blocs/morceau de résider sur les différents DataNode basé sur la configuration de votre cluster.
Données de fractionnement qui se passe basé sur des décalages de fichier. L'objectif de fractionnement de fichier et le stocker dans des blocs différents, est le traitement parallèle et le basculement de données.
Différence entre la taille de bloc et la taille du segment.
Split est logique de partage de données, essentiellement utilisés lors du traitement des données à l'aide de la Carte/réduction du programme ou de l'informatique techniques de l'Écosystème Hadoop. Split size est la valeur définie par l'utilisateur et vous pouvez choisir votre propre split taille en fonction de votre volume de données(la quantité de données en cours de traitement).
Split est essentiellement utilisé pour contrôler le nombre de Mapper en Map/reduce programme. Si vous n'avez pas défini d'entrée split taille de Map/reduce programme par défaut HDFS block split sera considérée comme entrée split.
Exemple:
Supposons que vous avez un fichier de 100 mo et HDFS par défaut de configuration de bloc est de 64 mo, alors il sera coupée en 2 split et occupent à 2 pâtés de maisons. Maintenant, vous avez une Map/reduce programme pour traiter ces données, mais vous n'avez pas précisé de quelle entrée split, puis, sur la base du nombre de blocs(bloc 2) entrée split sera considéré comme de la Carte/de Réduire le traitement et 2 mappeur sera assigné à ce travail.
Mais supposons que vous avez spécifié le split taille(disons 100 MO) dans votre Map/reduce programme puis les deux blocs(bloc 2) sera considéré comme un split single de la Carte/de Réduire le traitement et 1 Mappeur sera assigné à ce travail.
Supposons que vous avez spécifié le split taille(disons 25 MO) dans votre Map/reduce programme, alors il y aura 4 entrée split pour le Map/reduce programme et 4 Mappeur sera assigné pour le travail.
Conclusion:
L'une des meilleures explications. Je souhaite pouvoir infini de vote.
sandeep bhai, badhiya 🙂
OriginalL'auteur Sandeep Singh
Si un mappeur est à exécuter sur Bloc 1, le mappeur ne peut pas traiter car il n'aura pas l'ensemble de la deuxième enregistrement.
C'est exactement le problème que entrée divise résoudre. Entrée divise respecte enregistrement logique de frontières.
Permet de Supposer la entrée split taille est 200 MO
Donc la entrée split 1 devrait avoir à la fois le dossier 1 et dossier 2. Et d'entrée split 2 ne démarre pas avec le chiffre record de 2 depuis 2 a été attribué à l'entrée split 1. Entrée split 2 va démarrer avec le disque 3.
C'est pourquoi une entrée split est à seulement un logique morceau de données. C'points de début et de fin des endroits avec des blocs.
Si l'entrée split taille est n fois la taille de bloc, une entrée split pourrait s'adapter à de multiples blocs et donc un moins grand nombre de Mappeurs nécessaires pour l'ensemble de la tâche et, par conséquent, moins de parallélisme. (Nombre de contributeurs est le nombre de divisions)
entrée split size = taille de bloc est la configuration idéale.
Espère que cette aide.
Son erreur. Tous les commentaires se sépare pour que l'image doit être de 200 MO
Veuillez consulter ce document ainsi wiki.apache.org/hadoop/HadoopMapReduce
OriginalL'auteur tharindu_DG
La Scission de la création dépend de la InputFormat utilisé. Le diagramme ci-dessous explique comment FileInputFormat de getSplits() méthode qui décide de la divise par deux fichiers différents.
Noter le rôle joué par la Split Pente (1.1).
Java correspondantes source qui ne le split de:
La méthode computeSplitSize() ci-dessus s'étend à Max(minSize, min(maxSize, la taille de bloc)), où min/max taille peut être configuré par le paramètre mapreduce.d'entrée.fileinputformat.split.minsize/maxsize
OriginalL'auteur Avinash Ganta