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.