Dans ce tutoriel MapReduce, nous discuterons de la comparaison entre MapReduce InputSplit et Blocks dans Hadoop . Tout d'abord, nous verrons ce que sont les blocs de données HDFS à côté de ce qu'est Hadoop InputSplit.
Ensuite, nous verrons la différence de fonctionnalité entre InputSplit et Blocks. Enfin, nous aborderons également l'exemple des blocs Hadoop InputSplit et Data dans HDFS.
Introduction à InputSplit et aux blocs dans Hadoop
Discutons d'abord de ce que sont les blocs de données HDFS et de ce qu'est Hadoop InputSplit un par un.
1. Qu'est-ce qu'un bloc dans HDFS ?
Hadoop HDFS diviser les fichiers volumineux en petits morceaux appelés blocs. Il contient un minimum de données pouvant être lues ou écrites. HDFS stocke chaque fichier sous forme de blocs.
L'application Hadoop distribue le bloc de données sur plusieurs nœuds. Le client HDFS n'a aucun contrôle sur le bloc comme l'emplacement du bloc, le Namenode décide de toutes ces choses.
2. Qu'est-ce qu'InputSplit dans Hadoop ?
Il représente les données qu'un mappeur individuel processus. Ainsi, le nombre de tâches de carte est égal au nombre d'InputSplits. Le cadre divise la division en enregistrements, que le mappeur traite.
Initialement, les fichiers d'entrée stockent les données pour le travail MapReduce. Un fichier d'entrée réside généralement dans HDFS InputFormat décrit comment diviser et lire les fichiers d'entrée. InputFormat est responsable de la création de InputSplit.
Comparaison entre InputSplit et Blocks dans Hadoop
Discutons maintenant de la différence de fonctionnalité entre InputSplit et Blocks dans Hadoop Framework.
1. Représentation des données
- Bloquer – Le bloc HDFS est la représentation physique des données dans Hadoop.
- InputSplit – MapReduce InputSplit est la représentation logique des données présentes dans le bloc dans Hadoop. Il est essentiellement utilisé lors du traitement des données dans le programme MapReduce ou d'autres techniques de traitement. La principale chose à retenir est que InputSplit ne contient pas de données réelles ; c'est juste une référence aux données.
2. Taille
- Bloquer – Par défaut, la taille de bloc HDFS est de 128 Mo que vous pouvez modifier selon vos besoins. Tous les blocs HDFS ont la même taille, sauf le dernier bloc, qui peut être de la même taille ou plus petit. Le framework Hadoop divise les fichiers en blocs de 128 Mo, puis les stocke dans le système de fichiers Hadoop.
- InputSplit – La taille InputSplit par défaut est approximativement égale à la taille du bloc. Il est défini par l'utilisateur. Dans le programme MapReduce, l'utilisateur peut contrôler la taille du fractionnement en fonction de la taille des données.
3. Exemple de Block et InputSplit dans Hadoop
Supposons que nous ayons besoin de stocker le fichier dans HDFS. Hadoop HDFS stocke les fichiers sous forme de blocs. Le bloc est la plus petite unité de données pouvant être stockée ou extraite du disque.
La taille par défaut du bloc est de 128 Mo. Hadoop HDFS divise les fichiers en blocs. Ensuite, il stocke ces blocs sur différents nœuds du cluster.
Par exemple, nous avons un fichier de 132 Mo. Ainsi, HDFS divisera ce fichier en 2 blocs.
Maintenant, si nous voulons effectuer une opération MapReduce sur les blocs, elle ne sera pas traitée. La raison en est que le bloc 2 est incomplet. Ainsi, InpuSplit résout ce problème.
MapReduce InputSplit formera un groupement logique de blocs en un seul bloc. En tant qu'InputSplit, incluez un emplacement pour le bloc suivant et le décalage d'octet des données nécessaires pour terminer le bloc.
Conclusion
Par conséquent, InputSplit n'est qu'un bloc de données logique, c'est-à-dire qu'il ne contient que les informations sur l'adresse ou l'emplacement des blocs. Tandis que Block est la représentation physique des données.
Maintenant, je suis sûr que vous avez une meilleure compréhension des blocs de données InputSplit et HDFS après avoir lu ce blog. Si vous trouvez une autre différence entre InputSplit et Blocks, faites-le nous savoir dans la section des commentaires.