Como foi o WorkShop sobre Lago de Dados na QCon Rio 2015

Em outubro de 2015 ocorreu mais uma edição do QCon Rio, uma conferência para pessoas que desenvolvem software que contou com forte presença da ThoughtWorks Brasil. Foram cinco dias de palestras e workshops sobre tópicos diversos.

Com o intuito de compartilhar nosso conhecimento na área de Data Engineering com a comunidade, Ricardo Wendell e eu submetemos uma proposta de um workshop de 3.5hrs sobre Lagos de Dados corporativos.

Durante a primeira hora do workshop foram apresentados tópicos diversos sobre Data Engineering e Analytics, entre os quais podemos destacar os seguintes:

  • Big Data — Área da tecnologia da informação que visa resolver problemas a partir de uma grande massa de dados, gerados em grande velocidade e em formatos variados.
  • Data Warehousing e BI — Conjunto de tecnologias e ferramentas que visam possibilitar a geração de relatórios e análises de dados originados a partir de sistemas corporativos.
  • Data Science — Ciência que visa extrair conhecimento e insights a partir de dados.
  • Data Engineering — Área da tecnologia da informação responsável por projetar e implementar ferramentas e técnicas de gestão e manipulação de dados.
  • Agile Analytics — Estilo de desenvolvimento de data warehouses, data marts, aplicações de BI e aplicações de analytics, tendo como foco a entrega contínua e antecipada de valor de negócio durante todo o ciclo de vida de desenvolvimento.
  • Data Lake ou Lago de Dados — Ponto único de armazenamento de dados brutos, originados a partir dos sistemas de uma organização, com o intuito de permitir a qualquer indivíduo técnico acessar e analisar esses dados.

Através de um guia passo-a-passo, os participantes tiveram a oportunidade de trabalhar em um lago de dados utilizando um cluster Hadoop hospedado na nuvem.

O primeiro tópico abordado durante a parte prática do workshop, foi a ingestão de dados utilizando Sqoop. Durante esse exercício, as pessoas participantes puderam consumir dados históricos sobre os medalhistas olímpicos a partir de uma base de dados MySql e armazená-los no HDFS. Foi possível visualizar os dados através de uma interface web que faz parte da distribuição Hadoop utilizada na implantação do cluster.

Em seguida, as pessoas participantes foram convidadas a implementar jobsutilizando o Hadoop MapReduce para responder as seguintes perguntas:

  • Qual país conquistou mais medalhas na história das Olímpiadas ?
  • Em qual ano os EUA ganharam mais medalhas ?

Após implementar as soluções com a ajuda do material fornecido, as pessoas participantes puderam visualizar os jobs serem executados no cluster e, como esperado, obter as respostas para os problemas propostos utilizando a API MapReduce do Hadoop.

Na etapa seguinte do workshop, as pessoas participantes foram solicitadas a implementar jobs utilizando Apache Spark para responder as perguntas a seguir:

  • Quais atletas ganharam medalhas em mais de um esporte ?
  • Em quais anos os EUA ganharam menos de duzentas medalhas ?

Mais uma vez utilizando o material de apoio, as pessoas participantes puderam implementar as soluções para os problemas propostos e visualizar seus programas sendo executados no cluster. Elas puderam perceber os ganhos de performance, flexibilidade e facilidade de implementação do Apache Spark com relação ao Hadoop MapReduce.

Finalmente, na parte final do workshop, as pessoas participantes foram apresentadas às ferramentas Hive e Impala. Ambas tem por objetivo permitir a quem desenvolve executar consultas SQL em cima de dados armazenados no HDFS, como se os mesmos fossem dados estruturados em tabelas relacionais.

Utilizando a interface web disponível no cluster, as pessoas participantes puderam responder a uma das perguntas apresentadas anteriormente utilizando apenas uma consulta SQL. Puderam também perceber a diferença de performance entre o Hive e o Impala, sendo este último bem mais rápido por conta das otimizações da sua arquitetura.

Ao final do workshop, pudemos ainda tirar dúvidas de algumas pessoas, além de trocar ideias sobre arquitetura de dados e cases de sucesso. O feedback que tivemos foi bem positivo e estamos aprimorando o workshop para rodá-lo novamente em futuros eventos. Os slides utilizados no workshop podem ser encontrados aqui.

Para saber mais sobre as tecnologias e técnicas utilizadas no workshop, basta acessar o nosso Tech Radar. Nele você encontra as ideias da ThoughtWorks sobre tecnologia e tendências que estão desenhando o futuro.