Documentation de référence sur les procédures système
BigQuery accepte les procédures système suivantes, qui peuvent être utilisées de la même manière que les procédures stockées créées par l'utilisateur.
BQ.ABORT_SESSION
Syntaxe
CALL BQ.ABORT_SESSION([session_id]);
Description
Arrête votre session en cours.
Vous pouvez éventuellement spécifier l'ID de session, ce qui vous permet d'arrêter une session si la procédure système n'est pas appelée à partir de cette session.
Pour en savoir plus, consultez la section Arrêter des sessions.
BQ.JOBS.CANCEL
Syntaxe
CALL BQ.JOBS.CANCEL(job);
Description
Annule une tâche en cours d'exécution.
Spécifiez la tâche en tant que chaîne au format '[project_id.]job_id'
. Si vous exécutez cette procédure système à partir d'un projet différent de celui de la tâche, vous devez inclure l'ID du projet. Vous devez exécuter la procédure au même emplacement que la tâche.
Pour en savoir plus, consultez la page Annuler une tâche.
BQ.REFRESH_EXTERNAL_METADATA_CACHE
Syntaxe
CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE(table_name [, [subdirectory_uri, …]]);
Description
Actualise le cache de métadonnées d'une table BigLake ou d'une table d'objets.
Cette procédure échoue si vous l'exécutez sur une table dont le mode de mise en cache des métadonnées est défini sur AUTOMATIC
.
Pour exécuter cette procédure système, vous devez disposer des autorisations bigquery.tables.update
et bigquery.tables.updateData
.
Spécifiez le nom de la table sous forme de chaîne au format '[project_id.]dataset.table'
. Si vous exécutez cette procédure système à partir d'un projet différent de celui de la table, vous devez inclure l'ID du projet.
Pour les tables BigLake, vous pouvez éventuellement spécifier un ou plusieurs sous-répertoires du répertoire de données de table dans Cloud Storage au format 'gs://table_data_directory/subdirectory/.../'
.
Cela vous permet d'actualiser uniquement les métadonnées de table de ces sous-répertoires et ainsi d'éviter un traitement inutile de métadonnées.
Exemples
Pour actualiser toutes les métadonnées d'une table, procédez comme suit :
CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE('myproject.test_db.test_table')
Pour actualiser de manière sélective les métadonnées d'une table BigLake, procédez comme suit :
CALL BQ.REFRESH_EXTERNAL_METADATA_CACHE('myproject.test_db.test_table', ['gs://source/uri/sub/path/d1/*', 'gs://source/uri/sub/path/d2/*'])
Limite
L'actualisation du cache des métadonnées n'est pas prise en charge pour les tables référencées par des ensembles de données associés sur des ensembles de données externes.
BQ.REFRESH_MATERIALIZED_VIEW
Syntaxe
CALL BQ.REFRESH_MATERIALIZED_VIEW(view_name);
Description
Actualise une vue matérialisée.
Spécifiez le nom de la vue matérialisée sous forme de chaîne au format '[project_id.]dataset.table'
. Si vous exécutez cette procédure système à partir d'un projet différent de celui de la vue matérialisée, vous devez inclure l'ID du projet.
Pour en savoir plus, consultez la section Actualisation manuelle.