Neste documento, mostramos como definir outras configurações em um arquivo de definição de tabela. Com o Dataform Core, você pode definir pre_operations
e post_operations
para executar uma instrução SQL antes ou depois da criação da tabela. Você também pode substituir as configurações da tabela, como database
ou schema
, e desativar a criação de tabelas.
Antes de começar
No Console do Google Cloud, acesse a página Dataform.
Selecione ou crie um repositório.
Selecione ou crie um espaço de trabalho de desenvolvimento.
Funções exigidas
Para ter as permissões necessárias para definir outras configurações da tabela,
peça ao administrador para conceder a você
Papel do IAM Editor do Dataform (roles/dataform.editor
) em espaços de trabalho.
Para mais informações sobre como conceder papéis, consulte Gerenciar acesso.
Também é possível conseguir as permissões necessárias com papéis personalizados ou outros papéis predefinidos.
Substituir as configurações da tabela
É possível modificar o esquema, o banco de dados e o nome de uma tabela selecionada.
Por padrão, uma tabela segue o esquema e a configuração do banco de dados que você definiu em
dataform.json
: O nome de uma tabela é igual ao nome dela.
de definição de código SQLX.
Para modificar o esquema e o nome de uma tabela selecionada, siga estas etapas:
Acesse seu espaço de trabalho de desenvolvimento.
No painel Files, expanda
definitions/
.Abra um arquivo de definição da tabela SQLX.
No bloco
config
, insira o seguinte snippet de código:{ schema: "OVERRIDDEN_SCHEMA", database: "OVERRIDDEN_DATABASE", name: "OVERRIDDEN_NAME" }
Substitua:
OVERRIDDEN_SCHEMA
: o BigQuery conjunto de dados em que você quer criar a tabelaOVERRIDDEN_DATABASE
: o ID do Projeto do BigQuery em que você quer criar a tabelaOVERRIDDEN_NAME
: o nome da tabela; diferente do nome de arquivo de definição da tabela SQLX
Opcional: clique em Formatar.
Referenciar uma tabela com um nome de tabela substituído
- Para fazer referência a uma tabela com um nome de tabela substituído, na função
ref
, insira o nome da tabela substituído definido emname: ""
.
O exemplo de código a seguir faz referência a uma tabela com nome substituído por
overridden_name
:
SELECT * FROM ${ref("overridden_name")}
Defina uma instrução SQL a ser executada antes da criação da tabela
Configure o Dataform para executar uma ou mais instruções SQL
antes de criar uma tabela selecionada no BigQuery. Para executar um comando
antes que o Dataform crie uma tabela selecionada, adicione sua
instrução ao bloco pre_operations
no arquivo SQLX de definição de tabela.
Para criar uma instrução SQL personalizada executada antes que o Dataform crie uma , siga estas etapas:
Acesse seu espaço de trabalho de desenvolvimento.
No painel Files, expanda
definitions/
.Abra um arquivo de definição da tabela SQLX.
Fora do bloco
config
, digitepre_operations { ... }
.Em
pre_operations { ... }
, adicione sua instrução SQL.Opcional: para adicionar várias instruções, separe-as com
---
.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);
}
Defina uma instrução SQL a ser executada após a criação da tabela
Configure o Dataform para executar uma ou mais instruções SQL
depois de criar a tabela selecionada no BigQuery. Executar uma instrução SQL
depois que o Dataform criar uma tabela selecionada, adicione o comando ao
o bloco post_operations
no arquivo SQLX de definição de tabela. Você pode adicionar
várias instruções SQL para o bloco post_operations
.
Para criar uma instrução SQL personalizada executada depois que o Dataform cria uma , siga estas etapas:
Acesse seu espaço de trabalho de desenvolvimento.
No painel Files, expanda
definitions/
.Abra um arquivo de definição da tabela SQLX.
Fora do bloco
config
, digitepost_operations { ... }
.Em
post_operations { ... }
, adicione sua instrução SQL.Opcional: clique em Formatar.
O exemplo de código a seguir mostra instruções post_operations
que concedem grupos
acesso à tabela criada:
post_operations {
GRANT `roles/bigquery.dataViewer`
ON
TABLE ${self()}
TO "group:allusers@example.com", "user:otheruser@example.com"
}
Desativar a criação de tabelas
Para impedir que o Dataform crie uma tabela selecionada em No BigQuery, é possível desativar a tabela em seu arquivo de definição de tabela SQLX. O Dataform mantém uma tabela desativada no gráfico de dependências, mas não o compila nem cria. Isso pode ser útil, por exemplo, se uma tabela falhar e você não quer que todo o fluxo de trabalho falhe enquanto você corrige o problema.
Para desativar uma tabela, siga estas etapas:
Acesse seu espaço de trabalho de desenvolvimento.
No painel Files, expanda
definitions/
.Selecione um arquivo de definição da tabela SQLX.
No bloco
config
do arquivo, digitedisabled: true
.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")}
A seguir
Para saber como definir as configurações do Dataform no
dataform.json
, consulte Definir as configurações do Dataform.Para saber como testar dados de tabela com declarações, consulte Testar tabelas com declarações.
Para aprender a reutilizar códigos com inclusões, consulte Reutilizar variáveis e funções com inclusões.
Para aprender a acionar execuções manualmente, consulte Execução do acionador.