Skip to content

basedosdados/queries-basedosdados-perguntas

Repository files navigation

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