Este documento mostra como fazer o seguinte:
- Defina uma declaração SQL a ser executada antes da criação da tabela.
- Defina uma declaração SQL a ser executada após a criação da tabela.
- Desative a criação de tabelas.
- Adicione etiquetas de execução.
Antes de começar
Na Google Cloud consola, aceda à página Dataform.
Selecione ou crie um repositório.
Selecione ou crie um espaço de trabalho de desenvolvimento.
Defina um ficheiro SQLX de qualquer um dos seguintes tipos:
Funções necessárias
Para receber as autorizações de que
precisa para concluir as tarefas neste documento,
peça ao seu administrador para lhe conceder a
função de IAM Editor do Dataform (roles/dataform.editor
) em espaços de trabalho.
Para mais informações sobre a atribuição de funções, consulte o artigo Faça a gestão do acesso a projetos, pastas e organizações.
Também pode conseguir as autorizações necessárias através de funções personalizadas ou outras funções predefinidas.
Defina uma declaração SQL a ser executada antes da criação da tabela
Pode configurar o Dataform para executar uma ou mais declarações SQL antes de criar uma tabela selecionada no BigQuery. Para executar uma declaração SQL antes de o Dataform criar uma tabela selecionada, adicione a sua declaração ao bloco pre_operations
no ficheiro SQLX de definição da tabela.
Para criar uma declaração SQL personalizada que é executada antes de o Dataform criar uma tabela específica, siga estes passos:
- Aceda ao seu espaço de trabalho de desenvolvimento.
- No painel Ficheiros, expanda
definitions/
. - Abra um ficheiro de definição de tabela SQLX.
- Fora do bloco
config
, introduzapre_operations { ... }
. - Dentro de
pre_operations { ... }
, adicione a sua declaração SQL. - Opcional: para adicionar várias declarações, separe-as com
---
. - Opcional: clique em Formatar.
O exemplo de código seguinte mostra uma declaração pre_operations
que cria uma função temporária que pode ser usada na declaração select:
pre_operations {
CREATE TEMP FUNCTION AddFourAndDivide(x INT64, y INT64)
RETURNS FLOAT64
AS ((x + 4) / y);
}
Defina uma declaração SQL a ser executada após a criação da tabela
Pode configurar o Dataform para executar uma ou mais declarações SQL após criar uma tabela selecionada no BigQuery. Para executar uma declaração SQL depois de o Dataform criar uma tabela selecionada, adicione a declaração ao bloco post_operations
no ficheiro SQLX de definição da tabela. Pode adicionar várias declarações SQL ao bloco post_operations
.
Para criar uma declaração SQL personalizada que é executada depois de o Dataform criar uma tabela específica, siga estes passos:
- Aceda ao seu espaço de trabalho de desenvolvimento.
- No painel Ficheiros, expanda
definitions/
. - Abra um ficheiro de definição de tabela SQLX.
- Fora do bloco
config
, introduzapost_operations { ... }
. - Dentro de
post_operations { ... }
, adicione a sua declaração SQL. - Opcional: clique em Formatar.
O exemplo de código seguinte mostra declaraçõ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"
}
Desative a criação de tabelas
Para impedir que o Dataform crie uma tabela selecionada no BigQuery, pode desativar a tabela no respetivo ficheiro 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. Isto pode ser útil, por exemplo, se uma tabela falhar e não quiser que todo o fluxo de trabalho falhe enquanto corrige o problema.
Para desativar uma tabela, siga estes passos:
- Aceda ao seu espaço de trabalho de desenvolvimento.
- No painel Ficheiros, expanda
definitions/
. - Selecione um ficheiro de definição de tabela SQLX.
- No bloco
config
do ficheiro, introduzadisabled: true
. - Opcional: clique em Formatar.
O seguinte exemplo de código mostra uma tabela desativada:
config {
type: "table",
disabled: true
}
select * from ${ref("source_data")}
Adicione etiquetas de execução
Esta secção mostra como adicionar etiquetas a ficheiros SQLX do Dataform core para categorizar o seu fluxo de trabalho.
Para organizar os componentes do seu fluxo de trabalho em coleções, pode adicionar etiquetas personalizadas a ficheiros SQLX dos seguintes tipos:
table
view
incremental
assertion
operations
Durante a execução de um fluxo de trabalho, pode executar apenas ficheiros com uma etiqueta selecionada.
Com o Cloud Composer ou os fluxos de trabalho juntamente com o Cloud Scheduler, pode criar uma programação que execute um fluxo de trabalho do Dataform com uma etiqueta selecionada a um intervalo específico.
Adicionar uma etiqueta
Pode adicionar várias etiquetas a um ficheiro SQLX.
Para adicionar uma etiqueta a um ficheiro SQLX, siga estes passos:
- Aceda ao seu espaço de trabalho de desenvolvimento.
- No painel Ficheiros, expanda
definitions/
. - Selecione um ficheiro SQLX.
No bloco
config
, adicione uma etiqueta no seguinte formato:tags: ["CUSTOM_TAG"]
Substitua
CUSTOM_TAG
pela sua etiqueta.Opcional: para adicionar várias etiquetas, separe-as com uma vírgula (
,
).Opcional: clique em Formatar.
O seguinte exemplo de código mostra a vista user_counts
com as etiquetas daily
e
hourly
:
config {
type: "view",
name: "user_counts",
tags: ["daily", "hourly"]
}
O que se segue?
- Para saber como configurar as definições do Dataform no
workflow_settings.yaml
, consulte o artigo Configure as definições do fluxo de trabalho do Dataform. - Para saber como testar dados de tabelas com afirmações, consulte o artigo Teste a qualidade dos dados.
- Para saber como reutilizar código com includes, consulte o artigo Reutilize código num único repositório com includes.
- Para saber como acionar manualmente execuções, consulte o artigo Acione execuções manualmente.
- Para saber como adicionar etiquetas de políticas do BigQuery no Dataform, consulte o artigo Controlar o acesso a colunas.