HBase
 sql >> Base de Dados >  >> NoSQL >> HBase

Diferença entre InputSplit vs Blocks no Hadoop


Neste tutorial do MapReduce, discutiremos a comparação entre MapReduce InputSplit vs Blocks no Hadoop . Em primeiro lugar, veremos o que são blocos de dados HDFS ao lado do Hadoop InputSplit.

Então veremos a diferença de recursos entre InputSplit vs Blocks. Por fim, também discutiremos o exemplo dos blocos Hadoop InputSplit e Data no HDFS.

Introdução ao InputSplit e Blocos no Hadoop


Vamos primeiro discutir o que são blocos de dados HDFS e o que é Hadoop InputSplit um por um.

1. O que é um bloco no HDFS?


Hadoop HDFS dividir arquivos grandes em pequenos pedaços conhecidos como Blocos. Ele contém uma quantidade mínima de dados que podem ser lidos ou gravados. O HDFS armazena cada arquivo como blocos.

O aplicativo Hadoop distribui o bloco de dados em vários nós. O cliente HDFS não tem nenhum controle sobre o bloco como a localização do bloco, o Namenode decide todas essas coisas.

2. O que é o InputSplit no Hadoop?


Ele representa os dados que o mapeador individual processos. Assim, o número de tarefas de mapa é igual ao número de InputSplits. O framework divide a divisão em registros, que o mapeador processa.

Inicialmente, os arquivos de entrada armazenam os dados para o trabalho MapReduce. Insira um arquivo que normalmente reside em HDFS InputFormat descreve como dividir e ler arquivos de entrada. InputFormat é responsável por criar InputSplit.

Comparação entre InputSplit vs Blocks no Hadoop


Vamos agora discutir a diferença de recursos entre InputSplit vs Blocks no Hadoop Framework.

1. Representação de dados

  • Bloquear –  O bloco HDFS é a representação física dos dados no Hadoop.
  • Divisão de entrada –  MapReduce InputSplit é a representação lógica dos dados presentes no bloco no Hadoop. É usado basicamente durante o processamento de dados no programa MapReduce ou outras técnicas de processamento. A principal coisa a focar é que o InputSplit não contém dados reais; é apenas uma referência aos dados.

2. Tamanho

  • Bloquear –  Por padrão, o tamanho do bloco HDFS é 128 MB que você pode alterar de acordo com sua exigência. Todos os blocos HDFS são do mesmo tamanho, exceto o último bloco, que pode ser do mesmo tamanho ou menor. A estrutura do Hadoop divide os arquivos em blocos de 128 MB e os armazena no sistema de arquivos do Hadoop.
  • Divisão de entrada –  O tamanho do InputSplit por padrão é aproximadamente igual ao tamanho do bloco. É definido pelo usuário. No programa MapReduce, o usuário pode controlar o tamanho da divisão com base no tamanho dos dados.

3. Exemplo de Block e InputSplit no Hadoop


Suponha que precisamos armazenar o arquivo em HDFS. O Hadoop HDFS armazena arquivos como blocos. Bloco é a menor unidade de dados que pode ser armazenada ou recuperada do disco.

O tamanho padrão do bloco é 128 MB. O Hadoop HDFS divide os arquivos em blocos. Em seguida, ele armazena esses blocos em diferentes nós do cluster.

Por exemplo, temos um arquivo de 132 MB. Portanto, o HDFS dividirá esse arquivo em 2 blocos.

Agora, se quisermos realizar uma operação MapReduce nos blocos, ela não será processada. O motivo é que o bloco 2 está incompleto. Então, o InpuSplit resolve esse problema.

MapReduce InputSplit formará um agrupamento lógico de blocos como um único bloco. Como o InputSplit inclui um local para o próximo bloco e o deslocamento de byte dos dados necessários para completar o bloco.

Conclusão


Portanto, InputSplit é apenas um bloco lógico de dados, ou seja, possui apenas as informações sobre o endereço ou a localização dos blocos. Enquanto Block é a representação física dos dados.

Agora tenho certeza de que você terá uma compreensão mais clara sobre os blocos InputSplit e HDFS Data depois de ler este blog. Se você encontrar alguma outra diferença entre InputSplit vs Blocks, informe-nos na seção de comentários.