Definir configurações do Dataform

Nesta página, mostramos como editar as configurações de processamento do Dataform para um repositório específico.

Edite o arquivo de configurações para renomear os esquemas ou adicionar variáveis de compilação personalizadas ao repositório.

Sobre as configurações do repositório

Cada repositório do Dataform contém um arquivo de configurações workflow_settings.yaml exclusivo. O arquivo contém o ID do projeto do Google Cloud e o esquema em que o Dataform publica recursos no BigQuery.

O Dataform usa configurações padrão que você pode substituir para atender melhor às suas necessidades editando o arquivo workflow_settings.yaml.

O exemplo de código a seguir apresenta um exemplo de arquivo workflow_settings.yaml:

  defaultProject: my-gcp-project-id
  defaultDataset: dataform
  defaultLocation: australia-southeast2
  defaultAssertionDataset: dataform_assertions

No exemplo de código, os pares de chave-valor e todas as outras opções das configurações do fluxo de trabalho estão descritos na referência das configurações do fluxo de trabalho.

É possível acessar as propriedades definidas em workflow_settings.yaml no código do projeto como propriedades do objeto dataform.projectConfig. Os seguintes mapeamentos das opções workflow_settings.yaml para as opções dataform.projectConfig acessíveis ao código são aplicados:

  • defaultProject => defaultDatabase.
  • defaultDataset => defaultSchema.
  • defaultAssertionDataset => assertionSchema.
  • projectSuffix => databaseSuffix.
  • datasetSuffix => schemaSuffix.
  • namePrefix => tablePrefix.

Para mais informações sobre o objeto dataform.projectConfig, consulte a referência principal do Dataform IProjectConfig.

O exemplo de código a seguir mostra o objeto dataform.projectConfig chamado em uma instrução SELECT em uma visualização:

  config { type: "view" }
  SELECT ${when(
    !dataform.projectConfig.tablePrefix,
    "table prefix is set!",
    "table prefix is not set!"
  )}

Antes de começar

  1. Crie um repositório.

  2. Crie e inicialize um espaço de trabalho de desenvolvimento no seu repositório.

Funções exigidas

Para receber as permissões necessárias para definir as configurações do Dataform, peça ao administrador para conceder a você o papel do IAM de Administrador do Dataform (roles/dataform.admin) nos repositórios. Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.

Também é possível conseguir as permissões necessárias por meio de papéis personalizados ou de outros papéis predefinidos.

Configurar nomes de esquemas

Nesta tarefa, mostramos como configurar as propriedades defaultDataset e defaultAssertionSchema no arquivo workflow_settings.yaml.

Para alterar o nome de um esquema, siga estas etapas:

  1. No espaço de trabalho de desenvolvimento, no painel Files, clique no arquivo workflow_settings.yaml.

  2. Edite o valor de defaultDataset, defaultAssertionSchema ou ambos.

O exemplo de código a seguir mostra um nome defaultDataset personalizado no arquivo workflow_settings.yaml:

  ...
  defaultDataset: mytables
  ...

Criar variáveis de compilação personalizadas

As variáveis de compilação contêm valores que podem ser modificados com substituições de compilação em , uma solicitação da API Dataform.

Depois de definir uma variável de compilação no workflow_settings.yaml e adicioná-la às tabelas selecionadas, é possível modificar o valor em Substituições de compilação da API Dataform para executar tabelas condicionalmente.

Para criar uma variável de compilação que possa ser usada em um repositório, siga estas etapas:

  1. Acesse o espaço de trabalho de desenvolvimento do Dataform.
  2. No painel Arquivos, selecione o arquivo workflow_settings.yaml.
  3. Insira o seguinte snippet de código:

    "vars": {
     "YOUR_VARIABLE":"VALUE"
    }
    

    Substitua:

    • YOUR_VARIABLE por um nome para a variável.
    • VALUE pelo valor padrão da variável de compilação.

O exemplo de código abaixo mostra a variável de compilação myVariableName definida como myVariableValue no arquivo workflow_settings.yaml:

  ...
  vars:
    myVariableName: myVariableValue
  ...

O exemplo de código abaixo mostra o arquivo workflow_settings.yaml com a variável de compilação executionSetting definida como dev:

defaultProject: default_bigquery_database
defaultLocation:us-west1
defaultDataset: dataform_data,
vars:
  executionSetting: dev

Adicionar uma variável de compilação a uma tabela

Para adicionar uma variável de compilação a um arquivo de definição de tabela do SQLX, siga estas etapas:

  1. Acesse o espaço de trabalho de desenvolvimento do Dataform.
  2. No painel Arquivos, selecione um arquivo de definição de tabela do SQLX.
  3. No arquivo, insira uma cláusula when no seguinte formato:

    ${when(dataform.projectConfig.vars.YOUR_VARIABLE === "SET_VALUE", "CONDITION")}
    

    Substitua:

    • YOUR_VARIABLE pelo nome da variável. Por exemplo, executionSetting.
    • SET_VALUE por um valor para a variável, por exemplo, staging.
    • CONDITION por uma condição de execução da tabela.

O exemplo de código a seguir mostra um arquivo SQLX de definição de tabela com uma cláusula when e a variável executionSetting que executa 10% dos dados na configuração de execução do preparo:

select
  *
from ${ref("data")}
${when(
  dataform.projectConfig.vars.executionSetting === "staging",
  "where mod(farm_fingerprint(id) / 10) = 0",
)}

O exemplo de código a seguir mostra um arquivo SQLX de definição de visualização com uma cláusula when e a variável myVariableName:

  config { type: "view" }
  SELECT ${when(
    dataform.projectConfig.vars.myVariableName === "myVariableValue",
    "myVariableName is set to myVariableValue!",
    "myVariableName is not set to myVariableValue!"
  )}

A seguir