Coder Social home page Coder Social logo

queries-basedosdados-perguntas's Introduction

Queries template

Esse é um template para um pacote DBT a ser importado no cluster do projeto basedosdados-dev, que irá gerar um servidor RPC para execução dos projetos específicos de cada projeto GCP. Deve-se respeitar a seguinte nomenclatura: queries-<nome_do_projeto_gcp>.

Como usar esse template

  • Na criação de um novo repositório, selecione o template queries-template e crie um repositório com o nome queries-<nome_do_projeto_gcp>.

Este projeto necessita das variáveis de ambiente descritas abaixo. Tais valores são providos na action do arquivo cd.yaml, os valores possuem como origem o Vault.

  • GCP_SA_KEY_BASE64: credenciais para uma conta de serviço com pleno acesso ao GKE, GCR e GCS. Preencher com o resultado de cat sua-credencial.json | base64.
  • GCP_PROJECT_ID: identificador do projeto no GCP.
  • GKE_CLUSTER_NAME: nome do cluster no GKE.
  • GKE_CLUSTER_ZONE: zona do cluster no GKE.

Aplique as seguintes alterações no projeto:

  • Modifique o nome do pacote em dbt_project.yml para o nome do seu projeto. Aproveite esse momento para ler, com calma, os comentários desse arquivo de configuração.
  • Crie contas de serviço para seus projetos de desenvolvimento e produção. Caso tenha somente um projeto, pode usar a mesma conta para ambos os propósitos. Nota: Jamais faça commit de suas credenciais.
  • Acesse o arquivo profiles.yml e se atente aos comentários, eles indicam os campos que devem ser alterados.
  • Usando os arquivos de credencial, crie os secrets credentials-dev e credentials-prod usando a flag --from-file.
  • Faça o upload das alterações realizadas em seu repositório.
  • Toda vez que houver uma alteração de código na branch master, uma instância atualizada do servidor RPC do DBT será criada em seu cluster, no devido namespace.

Resources:

  • Learn more about dbt in the docs
  • Check out Discourse for commonly asked questions and answers
  • Join the chat on Slack for live discussions and support
  • Find dbt events near you
  • Check out the blog for the latest news on dbt's development and best practices

Como desenvolver novos modelos

  1. Caso seja um dataset-id já existente, acesse models/<dataset-id> e pule para o passo 5.

  2. Caso seja um novo dataset-id, crie um novo diretório models/<dataset-id>.

  3. No arquivo dbt_project.yml registre o dataset-id junto aos já existentes, conforme exemplo abaixo:

models:
  emd:
    dataset-id:
      +materialized: view # Materialization type (view, table or incremental)
      +schema: dataset-id # Overrides the default schema (defaults to what is set on profiles.yml)
  1. No diretório models/<dataset-id>, crie um arquivo schema.yml para preencher metadados de suas tabelas. Exemplo abaixo:
version: 2

models:
  - name: my_first_dbt_model
    description: "A starter dbt model"
    columns:
      - name: id
        description: "The primary key for this table"
  1. Desenvolva seus modelos (que corresponderão a tabelas) no diretório models/<dataset-id>.

queries-basedosdados-perguntas's People

Contributors

guialvesp1 avatar lucascr91 avatar

Watchers

 avatar  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.