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.CANCEL_INDEX_ALTERATION

Syntaxe

CALL BQ.CANCEL_INDEX_ALTERATION(table_name, index_name);

Description

Annule une recompilation d'index vectoriel lancée par l'utilisateur .

Spécifiez le nom de la table sous forme de chaîne au format '[project_id.]dataset.table' et le nom de l'index sous forme de chaîne. 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.

Vous devez exécuter cette procédure au même emplacement que la table indexée. Pour définir l'emplacement de votre requête, consultez la section Spécifier des emplacements.

Exemple

CALL BQ.CANCEL_INDEX_ALTERATION('my_project.my_dataset.indexed_table', 'my_index');

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 Google Cloud Lakehouse 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 Lakehouse, 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 Lakehouse, 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 de métadonnées n'est pas compatible avec les tables référencées par des ensembles de données associés sur des ensembles de données externes.
  • L'actualisation du cache de métadonnées ne doit pas être utilisée dans une transaction multi-requêtes.

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.

BQ.SHOW_GRAPH_EXPAND_SCHEMA

Syntaxe

CALL BQ.SHOW_GRAPH_EXPAND_SCHEMA(graph_name, output_schema);

Description

Remplit la variable output_schema que vous fournissez avec le schéma de la table renvoyée en appelant la GRAPH_EXPAND TVF sur graph_name.

Spécifiez le nom du graphique sous forme de chaîne avec le format '[project_id.]dataset.graph'. Chaque colonne renvoyée par la TVF GRAPH_EXPAND représente une propriété dans le graphique. La sortie inclut le nom, le type et le mode de chaque colonne. Si une description ou des synonymes sont définis pour la propriété, ils apparaissent dans un champ description pour la colonne. Si la propriété définit une mesure, alors la sortie inclut "is_measure":true pour ce champ.

Exemples

DECLARE schema STRING;
CALL BQ.SHOW_GRAPH_EXPAND_SCHEMA('my_project.my_dataset.my_graph', schema);
SELECT schema;

La sortie ressemble à ceci :

{
  "fields":[
    {
      "name":"Department_dept_name",
      "type":"STRING",
      "mode":"NULLABLE",
      "description":
        "{\"description\":\"The name of the academic department\",
          \"synonyms\":[\"division\"]}"
    },
    {
      "name":"Department_budget",
      "type":"FLOAT",
      "mode":"NULLABLE"
    },
    {
      "name":"Department_total_budget",
      "type":"FLOAT",
      "mode":"NULLABLE",
      "is_measure":true
    }
  ]
}