Talend - Reduzir Mapa

No capítulo anterior, vimos como o Talend funciona com Big Data. Neste capítulo, vamos entender como usar o mapa Reduce with Talend.

Criação de um trabalho Talend MapReduce

Vamos aprender como executar um trabalho MapReduce no Talend. Aqui, executaremos um exemplo de contagem de palavras MapReduce.

Para isso, clique com o botão direito do mouse em Job Design e crie um novo job - MapreduceJob. Mencione os detalhes do trabalho e clique em Concluir.

Adicionando componentes ao trabalho MapReduce

Para adicionar componentes a um trabalho MapReduce, arraste e solte cinco componentes de Talend - tHDFSInput, tNormalize, tAggregateRow, tMap, tOutput do palete para a janela do designer. Clique com o botão direito em tHDFSInput e crie o link principal para tNormalize.

Clique com o botão direito em tNormalize e crie o link principal para tAggregateRow. Então, clique com o botão direito em tAggregateRow e crie o link principal para tMap. Agora, clique com o botão direito em tMap e crie o link principal para tHDFSOutput.

Configurando Componentes e Transformações

Em tHDFSInput, selecione a distribuição cloudera e sua versão. Observe que o URI do Namenode deve ser “hdfs: //quickstart.cloudera: 8020” e o nome de usuário deve ser “cloudera”. Na opção de nome de arquivo, forneça o caminho de seu arquivo de entrada para o trabalho MapReduce. Certifique-se de que esse arquivo de entrada esteja presente no HDFS.

Agora, selecione o tipo de arquivo, separador de linha, separador de arquivos e cabeçalho de acordo com seu arquivo de entrada.

Clique em editar esquema e adicione o campo “linha” como tipo de string.

Em tNomalize, a coluna a normalizar será uma linha e o separador de item será um espaço em branco -> ““. Agora, clique em editar esquema. tNormalize terá coluna de linha e tAggregateRow terá 2 colunas de palavra e contagem de palavras como mostrado abaixo.

Em tAggregateRow, coloque a palavra como coluna de saída em Group by option. Em operações, coloque a contagem de palavras como coluna de saída, função como contagem e posição da coluna de entrada como linha.

Agora clique duas vezes no componente tMap para entrar no editor de mapas e mapear a entrada com a saída necessária. Neste exemplo, a palavra é mapeada com a palavra e a contagem de palavras é mapeada com a contagem de palavras. Na coluna da expressão, clique em […] para entrar no construtor de expressão.

Agora, selecione StringHandling na lista de categorias e a função UPCASE. Edite a expressão para “StringHandling.UPCASE (row3.word)” e clique em OK. Mantenha row3.wordcount na coluna de expressão correspondente a wordcount conforme mostrado abaixo.

Em tHDFSOutput, conecte-se ao cluster Hadoop que criamos do tipo de propriedade como repositório. Observe que os campos serão preenchidos automaticamente. Em Nome do arquivo, forneça o caminho de saída onde deseja armazenar a saída. Mantenha a ação, separador de linha e separador de campo conforme mostrado abaixo.

Execução do trabalho MapReduce

Depois que sua configuração for concluída com êxito, clique em Executar e execute seu trabalho MapReduce.

Vá para o caminho do HDFS e verifique a saída. Observe que todas as palavras estarão em maiúsculas com sua contagem de palavras.