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 <ARQUIVO ZIP>. 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 doTalend.

 

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

 

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

Um Pop Up das propriedades do sistema vai ser aberto.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img2

 

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

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img3

 

Vamos editar a variável Path.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img4

 

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

 

Depois click no botão OK

Vamos adicionar a variável a HADOOP_HOME.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img6

 

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

 

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

 

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

Click 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

 

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

 

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

 

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

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img12

 

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

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img13

 

O tHDFSOutput componente deve ser configurado como a imagem abaixo.

Configuracao_Talend_para_Big_Data_Hadoop_HortonWorks_img14

 

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

 

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

© Cetax Consultoria 2016