O termo Big Data é a “menina dos olhos de ouro” da área de T.I atualmente, porem seu conceito ainda está amadurecendo no mercado brasileiro. Existem várias soluções em Big Data e integrações, porém, para que esse artigo não fique muito extenso, vamos focar em realizar algo prático e simples como a transferência de arquivos para uma estrutura de Hadoop usando duas soluções:  O Talend Open Studio for Big Data, usado para fazer integração de dados;  a segunda, é a estrutura do próprio Hadoop, uma plataforma voltada para aplicações em big data open-source desenvolvida pela Apache. Ambas as ferramentas estão disponíveis em versões gratuitas para download. Lembrando que no caso do Hadoop será usado a sandbox  (estrutura do hadoop já montada em uma máquina virtual) do revendedor Hortonworks.

Seguem abaixo os links para baixar os programas:
https://www.talend.com/download/talend-open-studio
http://br.hortonworks.com/products/hortonworks-sandbox/#install

Arquivo binário para download: HADOOP_HOME.zip

CENÁRIO

Vamos considerar que temos um servidor Hadoop e vamos desenvolver utilizando um cliente Windows (usamos a versão 10 porém é possível que versões a partir do 7 funcionem), para isso precisamos de alguns pre-requisitos:

  1. Variável de ambiente do Java configurada e o JDK instalado;
  2. Servidor Hadoop instalado e configurado, ou, no caso, nossa SandBox disponibilizado pela Hortonworks;
  3. Download dos arquivos binários do hadoop disponíveis no link. Esses arquivos possibilitam o reconhecimento do Hadoop pelo  Windows.
  4. O Talend versão Talend Open Studio for Big Data 6.1 e a do Hadoop 2.3, nos links já informados.

 

Existem tutorias explicando como configurar o hadoop e a variável de ambiente do Java, por isso não vamos entrar nesses detalhes, pois não é o foco desse artigo.

 

CONFIGURAÇÃO

A configuração vai ser dividida em 2 partes principais, configuração da variável HADOOP_HOME e a configuração do Talend.

HADOOP_HOME

Para configurar a variável de ambiente, devemos descompactar o arquivo HADOOP_HOME.zip no diretório local do Windows C:

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img1-540x164 Configuração Talend para Hadoop HortonWorks 2.6

 

Após descompactar o arquivo, é necessário configurar as variáveis de ambiente JAVA_HOME e Path. Para isso ir até sistema configurações avançados do sistema.

Um Pop Up das propriedades do sistema vai ser aberto.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img2-360x405 Configuração Talend para Hadoop HortonWorks 2.6

 

Click na opção Variáveis de Ambiente.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img3-482x405 Configuração Talend para Hadoop HortonWorks 2.6

Vamos editar a variável Path.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img4-1-427x405 Configuração Talend para Hadoop HortonWorks 2.6

 

Muito cuidado, esta variável define em quais lugares o Windows vai procurar por executáveis, por isso, não apague nenhum valor. O que vamos fazer é adicionar um novo local. Para isso, click no botão novo e coloque o valorC:HADOOP_HOMEBin

Como mostra a imagem abaixo.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img5-428x405 Configuração Talend para Hadoop HortonWorks 2.6

Depois click no botão OK

Vamos adicionar a variável a HADOOP_HOME.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img6-540x135 Configuração Talend para Hadoop HortonWorks 2.6

Essa variável vai apontar para o Talend onde estão os binários do Hadoop, o que vai permitir carregarmos dados no Big Data.

OBS: mantenha os mesmos valores e nomes nas variáveis. Depois click no botão ok.

CONFIGURAÇÃO NO TALEND

Após configurar as variáveis de ambiente, vamos configurar o Talend para fazer carga de dados no Hadoop. Abra o Talend no menu do repositório vamos configurar os meta-dados do Cluster Hadoop.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img7 Configuração Talend para Hadoop HortonWorks 2.6

Click com o botão direito em Cluster Hadoop e vamos na opção Create Cluster Hadoop.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img8-540x197 Configuração Talend para Hadoop HortonWorks 2.6

Como trata-se de um teste, vamos manter o mesmo nome nas três caixas de texto. Clique em next.

Agora vamos escolher qual distribuição vamos conectar, em nosso caso, vai ser a distribuição do Hortonworks e a distribuição Hortonworks data Plataform V2.2.0 que é a mais recente.

Vamos entrar com os dados manualmente. Como na imagem abaixo

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img9-540x155 Configuração Talend para Hadoop HortonWorks 2.6

Agora vamos configurar as conexões, todas as informações de conexões do Hadoop podem ser acessadas pelo Ambari, que é a ferramenta de administração do hadoop.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img10-540x351 Configuração Talend para Hadoop HortonWorks 2.6

Os campos Resource Manager, e Resource Manager Scheduler, são inseridos nesse formato:255.255.255.255:8050 onde temos IP e porta de conexão. O campo Namenode URL tem um formato um pouco diferente: 255.255.255.255:8050

OBS: Os IP’s de conexão e portas podem ser obtidos através do Ambari a ferramenta de administração do hadoop

No momento não vamos configurar o campo Job History

Depois definimos um diretório Staging (nesse artigo foi usado o diretório /tmp), depois um usuário que tenha permissão de gravação e leitura deve ser informado no campo de usuário.

CARGA DE DADOS

Vamos agora fazer uma carga de dados para verificar se a carga está funcionando, para isso vamos usar um componente do Talend que gera dados aleatórios.

Primeiro vamos criar um Job de carga, no repositório em Job Design, botão direito create Job

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img11-479x405 Configuração Talend para Hadoop HortonWorks 2.6

Vamos usar os componentes tRowGenerator e tHDFSOutput para gerar uma massa de dados.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img12 Configuração Talend para Hadoop HortonWorks 2.6

No tRowGenerator vamos criar apenas uma coluna com a função TalendString.getAsciiRandomString(int)

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img13-540x54 Configuração Talend para Hadoop HortonWorks 2.6

 

O tHDFSOutput componente deve ser configurado como a imagem abaixo.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img14-540x345 Configuração Talend para Hadoop HortonWorks 2.6

Atenção ao campo File Name, pois, ele define em qual diretório o arquivo vai carregar e qual a extensão do arquivo.

O campo Ação define se o arquivo vai ser substituído a cada execução do job. Depois de configurar execute o job.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img15-540x191 Configuração Talend para Hadoop HortonWorks 2.6

 

CONCLUSÃO

Esse tipo de conexão é utilizado para inserir informações de varias fontes no Hadoop, como planilhas Excel, arquivos txt e csv, assim como leitura da base de dados do hadoop. Isso foi apenas uma amostra do potencial de utilizar o Talend como uma ferramenta de ETL para Big data, pois além de poderosa tem uma versão free e uma curva de aprendizagem fácil.

BY Alexandre Menezes, Analista de Business Intelligence