Giter Site home page Giter Site logo

ucs-processos-elt's Introduction

Processos ELT em MAS

Este repositório contém material adicional para o curso Processos ELT em MAS desenvolvido para a Universidade Cruzeiro do Sul.

Importante: os exemplos aqui apresentados foram construídos no Sistema Operacional Linux (Pop_os 21_04). No entanto, na documentação de cada ferramenta você pode encontrar orientações para instalação nos ambientes Windows e Mac.

Se você não possui conhecimento em docker ou configuração de ambientes locais, recomendamos utilizar o Google BigQuery. Para isso você precisará de uma conta no Google Cloud Platform. Embora paga, ela permite utilizar muitos recursos de forma gratuita e você não deverá ter custos durante a realização dos exemplos desse repositório. Lembre-se de cancelar a conta futuramente se não desejar mais utilizá-la.

Exemplo Padrão

No exemplo a seguir os dados do banco de dados da Saque Voleio já estão disponibilizados no Data Warehouse.

Iniciando o Banco de Dados de Exemplo (PostgreSQL)

Os dados de exemplo do ERP da Saque Voleio estão disponíveis na pasta dados. As instruções para iniciar um banco de dados PostgreSQL com os dados estão abaixo (você vai precisar do docker-compose=3.8 instalado em seu computador):

docker-compose up -d

Ao final deste processo, o banco de dados data-warehouse deverá estar online e já populado com os dados de exemplo no schema source. Você poderá visualizá-lo através de qualquer cliente SQL como o dbeaver usando as credenciais:

  host: localhost
  user: postgres
  password: postgres
  port: 5432
  dbname: data-warehouse

Conectando no dbt

Acesse a pasta do atividade_pratica através do comando:

cd atividade_pratica

Também será necessário configurar um ambiente virtual Python (você precisará do >python 3.7 instalado em seu computador):

python3 -m venv venv
source venv/bin/activate
pip install -r requirements.txt

Em seguida você deve adicionar um profile no arquivo ~/.dbt/profiles.yml com as seguintes configurações:

saque_e_voleio_dbt: # this needs to match the profile in your dbt_project.yml file
  target: dev
  outputs:
    dev:
      type: postgres
      host: localhost
      user: postgres
      password: postgres
      port: 5432
      dbname: data_warehouse
      schema: marts

Para testar o funcionamento rode em seu terminal:

dbt debug

Exemplo Completo

Essa etapa só é necessária se você quiser realizar o processo completo.

As instruções abaixo indicam como realizar o processo ELT desde o início através da ferramenta de Extração Airbyte.

Iniciando o Banco de Dados de Exemplo (PostgreSQL)

Se você quiser seguir o exemplo completo, utilize o seguintes comandos (será necessário um maior conhecimento técnico):

docker-compose -f docker-compose-completo.yaml up

Configurando a ferramenta de integração (Airbyte) [Opcional]

O Airbyte é uma aplicação de integração de dados de código-aberto que pode ser instalada localmente utilizando o `docker-compose. Você também pode testar a aplicação gerenciada criando uma conta em Airbyte Cloud

git clone https://github.com/airbytehq/airbyte.git
cd airbyte
docker-compose up

Você deve conseguir acessar o Airbyte através do http://localhost:8000.

Criando um Data Warehouse [opcional]

Essa etapa só é necessária se você quiser realizar o processo completo.

Antes de iniciar as extrações de dados, precisamos configurar um destino para eles. Para isso vamos criar um novo database chamado data-warehouse através da aplicação createdb:

createdb -U postgres -h localhost data-warehouse

Iniciando o projeto dbt

Para transformar os dados no data warehouse usamos a ferramenta dbt. Ela pode ser instalada através dos comandos abaixo (você precisará do >python 3.7 instalado em seu computador):

python3 -m venv venv
source venv/bin/activate
pip install dbt-postgres

Para começar um novo projeto utilize:

dbt init saque_e_voleio_dbt

Em seguida você deve adicionar um profile no arquivo ~/.dbt/profiles.yml com as seguintes configurações:

saque_e_voleio_dbt: # this needs to match the profile in your dbt_project.yml file
  target: dev
  outputs:
    dev:
      type: postgres
      host: localhost
      user: postgres
      password: postgres
      port: 5432
      dbname: data-warehouse
      schema: marts

Copyright

Prof. Msc. Daniel Paulon Avancini

Licença

Creative Commons Attribution SA 4.0

ucs-processos-elt's People

Contributors

dpavancini avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.