Referência de procedimentos do sistema
O BigQuery suporta os seguintes procedimentos do sistema, que podem ser usados de forma semelhante aos procedimentos armazenados criados pelo utilizador.
BQ.ABORT_SESSION
Sintaxe
CALL BQ.ABORT_SESSION([session_id]);
Descrição
Termina a sua sessão atual.
Opcionalmente, pode especificar o ID da sessão, o que lhe permite terminar uma sessão se o procedimento do sistema não for chamado a partir dessa sessão.
Para mais informações, consulte o artigo Terminar sessões.
BQ.JOBS.CANCEL
Sintaxe
CALL BQ.JOBS.CANCEL(job);
Descrição
Cancela uma tarefa em execução.
Especifique a tarefa como uma string com o formato '[project_id.]job_id'
. Se executar este procedimento do sistema a partir de um projeto diferente do da tarefa, tem de incluir o ID do projeto. Tem de executar o procedimento na mesma localização que a tarefa.
Para mais informações, consulte o artigo Cancelar uma tarefa.
BQ.REFRESH_EXTERNAL_METADATA_CACHE
Sintaxe
CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE(table_name [, [subdirectory_uri, …]]);
Descrição
Atualiza a cache de metadados de uma tabela do BigLake ou de uma tabela de objetos.
Este procedimento falha se o executar numa tabela que tenha o modo de colocação em cache dos metadados definido como AUTOMATIC
.
Para executar este procedimento do sistema, precisa das autorizações bigquery.tables.update
e bigquery.tables.updateData
.
Especifique o nome da tabela como uma string com o formato
'[project_id.]dataset.table'
. Se executar este procedimento do sistema a partir de um projeto diferente da tabela, tem de incluir o ID do projeto.
Para tabelas BigLake, pode especificar opcionalmente um ou mais subdiretórios do diretório de dados da tabela no Cloud Storage no formato 'gs://table_data_directory/subdirectory/.../'
.
Isto permite-lhe atualizar apenas os metadados da tabela dessas subdiretorias e, assim, evitar o processamento desnecessário de metadados.
Exemplos
Para atualizar todos os metadados de uma tabela:
CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE('myproject.test_db.test_table')
Para atualizar seletivamente os metadados de uma tabela do BigLake:
CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE('myproject.test_db.test_table', ['gs://source/uri/sub/path/d1/*', 'gs://source/uri/sub/path/d2/*'])
Limitação
- A atualização da cache de metadados não é suportada para tabelas referenciadas por conjuntos de dados associados em conjuntos de dados externos.
- A atualização da cache de metadados não deve ser usada numa transação com várias declarações.
BQ.REFRESH_MATERIALIZED_VIEW
Sintaxe
CALL BQ.REFRESH_MATERIALIZED_VIEW(view_name);
Descrição
Atualiza uma vista materializada.
Especifique o nome da vista materializada como uma string com o formato
'[project_id.]dataset.table'
. Se executar este procedimento do sistema a partir de um projeto diferente da vista materializada, tem de incluir o ID do projeto.
Para mais informações, consulte o artigo Atualização manual.