sql >> Base de Datos >  >> NoSQL >> HBase

Diferencia entre InputSplit vs Blocks en Hadoop

En este tutorial de MapReduce, analizaremos la comparación entre MapReduce InputSplit y Blocks en Hadoop. . En primer lugar, veremos qué son los bloques de datos HDFS junto a qué es Hadoop InputSplit.

Luego veremos la diferencia sabia de características entre InputSplit vs Blocks. Por último, también discutiremos el ejemplo de Hadoop InputSplit y bloques de datos en HDFS.

Introducción a InputSplit y Blocks en Hadoop

Primero analicemos qué son los bloques de datos HDFS y qué es Hadoop InputSplit uno por uno.

1. ¿Qué es un bloque en HDFS?

HDFS de Hadoop dividir archivos grandes en pequeños fragmentos conocidos como bloques. Contiene una cantidad mínima de datos que se pueden leer o escribir. HDFS almacena cada archivo como bloques.

La aplicación Hadoop distribuye el bloque de datos en varios nodos. El cliente HDFS no tiene ningún control sobre el bloque, como la ubicación del bloque, Namenode decide todas esas cosas.

2. ¿Qué es InputSplit en Hadoop?

Representa los datos que el mapeador individual procesos. Por lo tanto, el número de tareas del mapa es igual al número de InputSplits. El marco divide la división en registros, que procesa el mapeador.

Inicialmente, los archivos de entrada almacenan los datos para el trabajo de MapReduce. La entrada de un archivo normalmente reside en HDFS InputFormat describe cómo dividir y leer archivos de entrada. InputFormat es responsable de crear InputSplit.

Comparación entre InputSplit y bloques en Hadoop

Analicemos ahora la diferencia sabia de funciones entre InputSplit y Blocks en Hadoop Framework.

1. Representación de datos

  • Bloquear:  HDFS Block es la representación física de los datos en Hadoop.
  • División de entrada:  MapReduce InputSplit es la representación lógica de los datos presentes en el bloque en Hadoop. Básicamente se utiliza durante el procesamiento de datos en el programa MapReduce u otras técnicas de procesamiento. Lo principal a enfocar es que InputSplit no contiene datos reales; es solo una referencia a los datos.

2. Tamaño

  • Bloquear:  De forma predeterminada, el tamaño del bloque HDFS es 128 MB que puede cambiar según sus necesidades. Todos los bloques HDFS tienen el mismo tamaño excepto el último bloque, que puede ser del mismo tamaño o más pequeño. El marco Hadoop divide los archivos en bloques de 128 MB y luego los almacena en el sistema de archivos Hadoop.
  • División de entrada:  El tamaño de InputSplit por defecto es aproximadamente igual al tamaño del bloque. Está definido por el usuario. En el programa MapReduce, el usuario puede controlar el tamaño dividido en función del tamaño de los datos.

3. Ejemplo de Block y InputSplit en Hadoop

Supongamos que necesitamos almacenar el archivo en HDFS. Hadoop HDFS almacena archivos como bloques. El bloque es la unidad de datos más pequeña que se puede almacenar o recuperar del disco.

El tamaño predeterminado del bloque es de 128 MB. Hadoop HDFS divide los archivos en bloques. Luego almacena estos bloques en diferentes nodos del clúster.

Por ejemplo, tenemos un archivo de 132 MB. Entonces HDFS dividirá este archivo en 2 bloques.

Ahora, si queremos realizar una operación MapReduce en los bloques, no se procesará. La razón es que el bloque 2 está incompleto. Entonces, InpuSplit resuelve este problema.

MapReduce InputSplit formará una agrupación lógica de bloques como un solo bloque. Como InputSplit, incluya una ubicación para el siguiente bloque y el desplazamiento de bytes de los datos necesarios para completar el bloque.

Conclusión

Por lo tanto, InputSplit es solo un fragmento lógico de datos, es decir, solo tiene la información sobre la dirección o ubicación de los bloques. Mientras que Block es la representación física de los datos.

Ahora estoy seguro de que tiene una comprensión más clara sobre los bloques de datos InputSplit y HDFS después de leer este blog. Si encuentra alguna otra diferencia entre InputSplit y Blocks, háganoslo saber en la sección de comentarios.