O que é o Hadoop Streaming?

O streaming do Hadoop é um utilitário fornecido com a distribuição do Hadoop, que pode ser usado para executar programas para análise de big data. Existem várias linguagens que podem ser usadas para executar isso como Java, Scala, Unix, Perl, Python e muito mais. O utilitário nos ajuda a criar e executar o mapa, reduzir trabalhos, com qualquer executável ou script sendo o mapeador e / ou redutor.

Definição

É uma distribuição do Hadoop com utilidade. O utilitário nos ajuda a criar e executar tarefas específicas do MapReduce com um executável ou o script como mapeador e / ou redutor.

Compreensão

Existem utilitários java fornecidos pela distribuição do Hadoop, chamados de streaming do Hadoop. O utilitário é empacotado em um arquivo JAR. Usando o utilitário, podemos criar e executar tarefas do MapReduce com um script executável. Além disso, podemos criar scripts executáveis ​​para executar funções de mapeador e redutor. Os scripts executáveis ​​são transmitidos para o Hadoop streaming usando um comando Depois que os scripts são passados ​​para o streaming do Hadoop, o utilitário de streaming do Hadoop cria um mapa e reduz as tarefas e as envia ao cluster. Esses trabalhos também podem ser monitorados com este utilitário.

Como funciona?

O script especificado para mapeador e redutor funciona da seguinte maneira:

Após a inicialização completa do script mapeador, ele iniciará a instância do script com diferentes IDs de processo. A tarefa do mapeador durante a execução pega as linhas de entrada e as passa para a entrada padrão. Ao mesmo tempo, as saídas da saída padrão do processo são coletadas pelo mapeador. Ele converte cada linha em um par de valores-chave. O conjunto de pares de valores-chave é então coletado como a saída do mapeador. O par de valores-chave é selecionado com base no primeiro caractere de tabulação. A parte da linha até a guia inicial é selecionada como chave, enquanto o restante da linha é selecionado como uma parte valiosa. Caso a guia não esteja presente em uma linha, a linha total é selecionada como chave e não há parte de valor para a linha. Isso pode ser ajustado de acordo com as necessidades do negócio.

Objetivo do uso do Hadoop Streaming

É usado para ingestão de dados em tempo real, que pode ser usado em diferentes aplicativos em tempo real. Existem diferentes aplicativos em tempo real, como assistir portfólios de ações, compartilhar análises de mercado, narrar boletins meteorológicos, alertas de tráfego feitos com o streaming Hadoop.

Trabalhando com o Hadoop Streaming

Abaixo está um exemplo simples de como o streaming do Hadoop funciona:

$HADOOP_HOME/bin/hadoop jar $HADOOP_HOME/hadoop-streaming.jar \
-input myInputDirs \
-output myOutputDir \
-mapper org.apache.hadoop.mapred.lib.IdentityMapper \
-reducer /bin/wc

O comando de entrada é usado para fornecer o diretório de entrada enquanto o comando de saída é usado para fornecer o diretório de saída. O comando mapper é usado para especificar a classe executável do mapeador, enquanto o comando reducer é usado para especificar a classe executável do redutor.

Vantagens do Hadoop Streaming

Abaixo estão as vantagens do streaming do Hadoop:

1. Disponibilidade

Isso não requer que nenhum software extra separado seja instalado e gerenciado. Existem outras ferramentas como um porco, uma colméia que pode ser instalada, preciso ser gerenciada separadamente.

2. Aprendizagem

Não é necessário aprender novas tecnologias. O streaming Hadoop pode ser aproveitado com o mínimo de habilidades Unix para análise de dados.

3. Reduza o tempo de desenvolvimento

Ele requer escrever código de mapeador e redutor enquanto desenvolve aplicativos de streaming no Unix, enquanto o mesmo trabalho usando o aplicativo Java MapReduce é mais complexo e precisa ser compilado primeiro, depois testar, depois empacotar, seguido pela exportação do arquivo JAR e, em seguida, executar.

4. Conversão mais rápida

Leva muito pouco tempo para converter dados de um formato para outro usando o streaming do Hadoop. Podemos usá-lo para converter dados de arquivo de texto em arquivo de sequência e, novamente, de arquivo de sequência em arquivo de texto e muitos outros. Isso pode ser alcançado usando as opções de formato de entrada e formato de saída no streaming do Hadoop.

5. Teste

Os dados de entrada e saída podem ser testados rapidamente usando o Hadoop streaming com Unix ou Shell Script.

6. Requisito para Negócios

Para requisitos de negócios simples, como operações simples de filtragem e operação simples de agregação, podemos usar isso com o Unix.

7. Desempenho

Usando o streaming do Hadoop, podemos obter melhor desempenho ao trabalhar com dados de streaming. Também existem várias desvantagens do streaming do Hadoop, que são abordadas usando outras ferramentas no pacote Hadoop, como Kafka, flume, spark.

Por que precisamos do Hadoop Streaming?

Ajuda na análise de dados em tempo real, que é muito mais rápida usando a programação do MapReduce em execução em um cluster de vários nós. Existem diferentes tecnologias, como o Spark Kafka e outras, que ajudam no streaming Hadoop em tempo real.

Como essa tecnologia o ajudará no crescimento da carreira?

Atualmente, todas as grandes empresas estão migrando para o Hadoop para análise de dados e muitas delas podem exigir análise de dados em tempo real. A demanda pelo uso de dados em tempo real e o processamento do mesmo dia a dia e essa tecnologia estão criando muito espaço para o crescimento da carreira individual.

Conclusão

Ele oferece uma enorme variedade de vantagens para o processamento de dados em tempo real, usando dados de streaming.

Artigos recomendados

Este é um guia para o Hadoop Streaming. Aqui discutimos a definição, conceito, vantagens e desvantagens do Hadoop Streaming. Você também pode ler nossos outros artigos sugeridos para saber mais.

  1. O que é o Hadoop Cluster?
  2. O que é mineração de dados?
  3. O que é visualização de dados
  4. O que é modelagem de dados?
  5. Guia completo para ferramentas Kafka

Categoria: