Uma breve jornada de dados — Level 5

Teo Calvo
Gamers Club - Escuro Baixo (de 🏡)
3 min readSep 23, 2022

A saída de Roger coincidiu com as férias e Sueli. Assim, nossa heroína teve alguns dias para pensar em uma solução da situação complicada que se encontrava. Lia fez o exercício de mapear onde os processos estavam bloqueados e o porquê destes bloqueios. Será que todas empresas que decidem construir um datalake passam por essas mesmas dificuldades? Quão complexo a arquitetura da GC se tornou comparada a outras do mercado? Realmente utilizar o Kubernetes (K8S) trará tantos ganhos assim?

Com todos pontos levantados, Lia resolveu considerar a opção de um SaaS para realizar processamento de dados necessário entre as camadas do datalake. Essa mesma ferramenta poderia servir de ambiente para todos membros do time de dados realizarem suas análises e modelos preditivos. Por conta própria, ela criou um ambiente pessoal no Databricks para estudar e testar a plataforma, entendendo se faria sentido realizar uma PoC (proof of concept, prova de conceito) usando os dados da GC.

Assim que Sueli retornou de férias, Lia apresentou seus estudos e descoberta neste período, sugerindo que rodassem uma PoC durante duas semanas com o Databricks utilizando os dados da GC que já estavam em Raw. O único custo desta PoC seria em relação às máquinas alocadas na AWS, uma vez que o Databricks fornece trial de 14 dias totalmente gratuito.

Sueli ficou confiante de que valeria a pena realizar essa PoC, simplificando consideravelmente a arquitetura que estavam trabalhando há mais de 6 meses. Desta forma, o desenho ganha uma cara nova:

Com essa nova visão, tanto o Apache Airflow quanto o K8S se fazem desnecessários. O Databricks fornece clusters Apache Spark gerenciados com setup simples, onde podemos nos preocupar apenas na escrita dos códigos de ingestão e menos com infraestrutura e sustentação. Para orquestração dos pipelines, tem-se os Workflows, uma funcionalidade que permite de forma fácil realizar agendamentos e dependências entre tasks diretamente no Databricks.

Vale dizer que a criação de um ambiente local também é desnecessária, onde anteriormente se fazia necessário rodar localmente Apache Airflow e K8S. Isso se dá uma vez que o Databricks fornece uma IDE no próprio navegador.

A criação do Workspace da GC ocorreu em menos de 4 horas. As duas próximas semanas de PoC possibilitaram muitos aprendizados e ingestões de dados, gerando alguns resultados expressivos:

  • +20 tabelas em bronze prontas para consumo;
  • Todo time de dados utilizando o Databricks;
  • Relatórios nascendo diretamente no Databricks como fonte de dados

Algumas lições do ponto de vista cultural também foram relevantes para Lia e Sueli:

  • Começar pelo básico. Templates e refatoração virão em um segundo momento;
  • A GC não é uma FAANG (ainda), a dimensão dos problemas são bem diferentes;
  • Pipelines e dados chegando > Arquitetura funcionando
  • Focar nas entregas, sem antecipar tantas dores que virão com o tempo e crescimento.

Após o sucesso da PoC, as semanas seguintes foram destinadas à ingestões de mais e mais dados. Em 3 meses, com auxílio de mais dois engenheiros de dados júniores, a equipe entregou:

  • +90 tabelas migradas para Bronze;
  • 3 Feature Store;
  • 1 Modelo preditivo;
  • Ingestões de gateway de pagamentos e serviços externos.

Com isso, a jornada de Lia para criação do datalake chega ao fim. Mas isso não significa que os desafios de dados acabam por aí. Na verdade, isso é só o começo, a equipe de dados da GC tem vários temas para atacar adiante, com: migração do legado para novo ambiente, monitoramento e qualidade das ingestões, catálogo e governança de dados, linhagem de tabelas e colunas, etc.

Como capítulo adicional (e final), Lia compartilhará as ferramentas e tecnologias adotadas pela GC em conjunto com Databricks, como:

  • Utilização do Cloud Files Streaming + upsert em Delta
  • Databricks Repos
  • Databricks Jobs 2.1 APIs
  • GitHub pipelines

--

--