Configurar outras ações

Esta página mostra como fazer o seguinte:

Antes de começar

  1. No Google Cloud console, acesse a página Dataform.

    Acesse o Dataform

  2. Selecione ou crie um repositório.

  3. Selecione ou crie um espaço de trabalho de desenvolvimento.

  4. Criar uma tabela.

  5. Defina um arquivo SQLX de qualquer um dos seguintes tipos:

Funções exigidas

Para conseguir as permissões necessárias a fim de concluir as tarefas neste documento, peça ao administrador para conceder a você os seguintes papéis do IAM:

Para mais informações sobre a concessão de papéis, consulte Gerenciar o acesso a projetos, pastas e organizações.

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

Definir uma instrução SQL a ser executada antes da criação da tabela

É possível configurar o Dataform para executar uma ou mais instruções SQL antes de criar uma tabela selecionada no BigQuery. Para executar uma instrução SQL antes que o Dataform crie uma tabela selecionada, adicione a instrução ao bloco pre_operations no arquivo SQLX de definição da tabela.

Para criar uma instrução SQL personalizada que é executada antes de o Dataform criar uma tabela específica, siga estas etapas:

  1. Acesse seu espaço de trabalho de desenvolvimento.
  2. No painel Arquivos, expanda definitions/.
  3. Abra um arquivo de definição de tabela SQLX.
  4. Fora do bloco config, digite pre_operations { ... }.
  5. Em pre_operations { ... }, adicione sua instrução SQL.
  6. Opcional: para adicionar várias instruções, separe-as com ---.
  7. Opcional: clique em Formatar.

O exemplo de código a seguir mostra uma instrução pre_operations que cria uma função temporária que pode ser usada na instrução SELECT:

pre_operations {
  CREATE TEMP FUNCTION AddFourAndDivide(x INT64, y INT64)
    RETURNS FLOAT64
    AS ((x + 4) / y);
}

Definir uma instrução SQL a ser executada após a criação da tabela

É possível configurar o Dataform para executar uma ou mais instruções SQL depois de criar uma tabela selecionada no BigQuery. Para executar uma instrução SQL depois que o Dataform cria uma tabela selecionada, adicione a instrução ao bloco post_operations no arquivo SQLX de definição da tabela. É possível adicionar várias instruções SQL ao bloco post_operations.

Para criar uma instrução SQL personalizada que é executada depois que o Dataform cria uma tabela específica, siga estas etapas:

  1. Acesse seu espaço de trabalho de desenvolvimento.
  2. No painel Arquivos, expanda definitions/.
  3. Abra um arquivo de definição de tabela SQLX.
  4. Fora do bloco config, digite post_operations { ... }.
  5. Em post_operations { ... }, adicione sua instrução SQL.
  6. Opcional: clique em Formatar.

O exemplo de código a seguir mostra instruções post_operations que concedem aos grupos acesso à tabela criada:

  post_operations {
    GRANT `roles/bigquery.dataViewer`
    ON
    TABLE ${self()}
    TO "group:allusers@example.com", "user:otheruser@example.com"
  }

Enriquecimento automatizado de metadados

O Dataform oferece suporte ao enriquecimento automatizado de metadados para tabelas e visualizações do BigQuery criadas com fluxos de trabalho do SQLX. Quando uma ação de tabela é concluída com êxito, o Dataform tenta gravar os metadados definidos na entrada correspondente do Knowledge Catalog. Esse processo é desacoplado da execução de SQL das seguintes maneiras:

  • Latência: a sincronização é assíncrona, ou seja, seus jobs do BigQuery não esperam a atualização do Knowledge Catalog terminar.
  • Confiabilidade: se a sincronização falhar (por exemplo, devido a limites de taxa da API), o Dataform vai tentar atualizar automaticamente. Uma atualização de metadados com falha não causa falha na ação ou no fluxo de trabalho do Dataform.

O exemplo de código a seguir mostra como definir metadados para o Knowledge Catalog no bloco de configuração de um arquivo SQLX:

config {
  type: "table",
  metadata: {
    overview: "This table provides standardized trip data.",
    extraProperties: {
      generic: {
        system: "BigQuery",
        type: "table"
      }
    }
  }
}

Para verificar o status de uma atualização de metadados, siga as instruções em Inspecionar registros de execução do espaço de trabalho.

Para conferir os metadados enriquecidos, pesquise suas tabelas e visualizações do BigQuery no Knowledge Catalog. Para mais informações, consulte Pesquisar recursos.

Desativar a criação de tabelas

Para impedir que o Dataform crie uma tabela selecionada no BigQuery, desative a tabela no arquivo de definição de tabela SQLX. O Dataform mantém uma tabela desativada no gráfico de dependência, mas não a compila nem a cria. Isso pode ser útil, por exemplo, se uma tabela falhar e você não quiser que todo o fluxo de trabalho falhe enquanto corrige o problema.

Para desativar uma tabela, siga estas etapas:

  1. Acesse seu espaço de trabalho de desenvolvimento.
  2. No painel Arquivos, expanda definitions/.
  3. Selecione um arquivo de definição de tabela SQLX.
  4. No bloco config do arquivo, digite disabled: true.
  5. Opcional: clique em Formatar.

O exemplo de código a seguir mostra uma tabela desativada:

config {
  type: "table",
  disabled: true
}

select * from ${ref("source_data")}

Adicionar tags de execução

Nesta seção, mostramos como adicionar tags aos arquivos SQLX do Dataform Core para categorizar seu fluxo de trabalho.

Para organizar os componentes do fluxo de trabalho em coleções, adicione tags personalizadas a arquivos SQLX dos seguintes tipos:

  • table
  • view
  • incremental
  • assertion
  • operations

Durante a execução de um fluxo de trabalho, é possível executar apenas arquivos com uma tag selecionada.

Com o Serviço gerenciado para Apache Airflow ou os Workflows com o Cloud Scheduler, é possível criar uma programação que executa um fluxo de trabalho do Dataform com uma tag selecionada em um intervalo específico.

Adicionar uma tag

É possível adicionar várias tags a um arquivo SQLX.

Para adicionar uma tag a um arquivo SQLX, siga estas etapas:

  1. Acesse seu espaço de trabalho de desenvolvimento.
  2. No painel Arquivos, expanda definitions/.
  3. Selecione um arquivo SQLX.
  4. No bloco config, adicione uma tag no seguinte formato:

    tags: ["CUSTOM_TAG"]
    

    Substitua CUSTOM_TAG pela sua tag.

  5. Opcional: para adicionar várias tags, separe-as com uma vírgula (,).

  6. Opcional: clique em Formatar.

O exemplo de código a seguir mostra a visualização user_counts com as tags daily e hourly:

config {
  type: "view",
  name: "user_counts",
  tags: ["daily", "hourly"]
}

A seguir