- Catégories :
Fonctions système (Informations système)
SYSTEM$GET_ICEBERG_TABLE_INFORMATION¶
Renvoie l’emplacement du fichier de métadonnées racine et le statut du dernier instantané d’une table Iceberg.
La fonction SYSTEM$GET_ICEBERG_TABLE_INFORMATION fonctionne différemment selon le type de table :
Pour une table Iceberg qui utilise Snowflake comme catalogue, l’appel de la fonction génère des métadonnées pour les opérations du langage de manipulation des données (Data Manipulation Language ou DML) ou d’autres mises à jour de table qui ont eu lieu depuis la dernière génération par Snowflake de métadonnées pour la table.
S’il n’existe pas de mises à jour, la fonction renvoie l’emplacement du dernier fichier de métadonnées, mais ne génère pas de nouvelles métadonnées.
Pour une table Iceberg non gérée par Snowflake, la fonction renvoie des informations sur le dernier instantané actualisé.
Syntaxe¶
SYSTEM$GET_ICEBERG_TABLE_INFORMATION('<iceberg_table_name>')
Arguments¶
'iceberg_table_name'
Nom de la table Iceberg pour laquelle vous souhaitez récupérer des informations. Le nom de table est une chaîne ; elle doit donc être placée entre guillemets simples.
Si le nom de la table Iceberg est complet (« entièrement qualifié »), par exemple,
'<db>.<schema>.<iceberg_table_name>'
, le nom tout entier doit être placé entre guillemets simples, y compris la base de données et le schéma.Si le nom de la table Iceberg est sensible à la casse ou inclut des caractères spéciaux ou des espaces, des guillemets doubles sont nécessaires pour traiter la casse/les caractères. Les guillemets doubles doivent être placés entre guillemets simples, par exemple,
'"<case_sensitive_iceberg_table_name>"'
.
Renvoie¶
La fonction renvoie un objet JSON contenant les paires nom/valeur suivantes :
valeur {« metadataLocation »: »<valeur > », »status »: »<> »}
Où :
metadataLocation
Emplacement du fichier de métadonnées racine mis à jour ou récupéré par la fonction.
status
Statut de l’opération. Ce champ renvoie un message de réussite ou d’échec.
Notes sur l’utilisation¶
L’appel de cette fonction nécessite un rôle disposant du privilège OWNERSHIP sur la table Iceberg.
Exemples¶
Générer un instantané de la table Iceberg it1
dans le schéma db1.schema1
:
SELECT SYSTEM$GET_ICEBERG_TABLE_INFORMATION('db1.schema1.it1');
Sortie :
+-----------------------------------------------------------------------------------------------------------+
| SYSTEM$GET_ICEBERG_TABLE_INFORMATION('DB1.SCHEMA1.IT1') |
|-----------------------------------------------------------------------------------------------------------|
| {"metadataLocation":"s3://mybucket/metadata/v1.metadata.json","status":"success"} |
+-----------------------------------------------------------------------------------------------------------+