Skip to content

Introdução

Esse projeto foi desenvolvido para a disciplina de Engenharia de Dados, que consta no desenvolvimento completo de uma pipeline de dados para um sistema de seguro de imóveis, partindo da criação de ambientes em cloud utilizando IaC (Terraform), seguindo para os processos de ingestão, transformação e carregamento dos dados utilizando Azure Databricks e Azure Datalake Storage Gen2. Ao final da pipeline, os dados manipulados são exibidos em um dashboard feito com Power BI.

Começando

Essas instruções permitirão que você obtenha uma cópia do projeto em operação na sua máquina local para fins de desenvolvimento e teste.

Pré-requisitos


Conta Microsoft/Azure

Existe a possibilidade de adquirir 14 dias gratuitos dos serviços premium ofertados pela Microsoft/Azure Verifique a disponibilidade no site

Instalação


  1. Clone o repositório

    git clone https://github.com/guilherme-savio/seguro-imoveis.git
    
  2. Com sua conta Microsoft/Azure criada e apta para uso dos recursos pagos, no Portal Azure crie um workspace Azure Databricks seguindo a documentação fornecida pela Microsoft. Durante a execução deste processo, você irá criar um resource group. Salve o nome informado no resource group pois ele será utilizado logo em seguida.

  3. Com o Terraform instalado e o resource group em mãos, no arquivo /iac/variables.tf troque a váriavel "resource_group_name" para resource group que você criou previamente.

  4. Nesta etapa, iremos iniciar o deploy do nosso ambiente cloud. Após alterar a variável no último passo, acesse a pasta /iac e execute os seguintes comandos:

    terraform init
    
    terraform apply
    

  5. Com a execução dos comandos finalizada, verifique no Portal Azure o MS SQL Server, MS SQL Database e o ADLS Gen2 contendo os containers landing-zone, bronze, silver e gold que foram criados no passo anterior.

  6. No Portal Azure, gere um SAS TOKEN para o contêiner landing-zone seguindo esta documentação. Guarde este token em um local seguro pois ele será utilizado no próximo passo.

  7. Na pasta /data, crie um arquivo chamado .env com o mesmo conteúdo disponibilizado no arquivo de exemplo .env.example e preencha as informações necessárias.

  8. No mesmo diretório, vamos iniciar o processo de população do nosso banco de dados. Verifique corretamente o preenchimento das váriaveis no arquivo .env e prossiga com os seguintes comandos:

    • Criar venv (ambiente virtual) do Python:
      python3 -m venv env
      
    • Ativar a venv criada:
      • Linux/MacOS:
        source env/bin/activate
        
      • Windows:
        .env\Scripts\activate
        
    • Instalar os pacotes necessários:
      pip install -r requirements.txt
      
    • Executar o script de população:
      python -B main.py
      
  9. Acesse o Portal Azure e acesse o seu workspace Azure Databricks. Realize o upload dos notebooks encontrados em /etl para o workspace.
  10. Por fim, você pode executá-los separadamente ou elaborar um Job para orquestrar às execuções.

Ferramentas utilizadas