DESCRIBE ICEBERG TABLE

Décrit soit les colonnes dans une table Apache Iceberg, soit les valeurs actuelles, ainsi que les valeurs par défaut, des propriétés d’une table Iceberg.

DESCRIBE peut être abrégé en DESC.

Notez que cette rubrique fait référence aux tables Iceberg en les appelant simplement « tables », sauf lorsque le fait de préciser tables Iceberg permet d’éviter toute confusion.

Voir aussi :

ALTER ICEBERG TABLE, DROP ICEBERG TABLE, CREATE ICEBERG TABLE, SHOW ICEBERG TABLES

Syntaxe

DESC[RIBE] [ ICEBERG ] TABLE <name> [ TYPE =  { COLUMNS | STAGE } ]
Copy

Paramètres

name

Indique l’identificateur de la table à décrire. Si l’identificateur contient des espaces ou des caractères spéciaux, toute la chaîne doit être délimitée par des guillemets doubles. Les identificateurs entre guillemets doubles sont également sensibles à la casse.

TYPE = COLUMNS | STAGE

Indique s’il faut afficher les colonnes de la table ou les propriétés de la zone de préparation (y compris leurs valeurs actuelles et par défaut) pour la table.

Par défaut : TYPE = COLUMNS

Exigences en matière de contrôle d’accès

Un rôle utilisé pour exécuter cette opération doit au minimum disposer des privilèges suivants :

Privilège

Objet

Remarques

SELECT

Table Iceberg

Le privilège USAGE relatif à la base de données et au schéma parents est exigé pour effectuer des opérations sur tout objet d’un schéma. Notez qu’un rôle doté d’un privilège quelconque sur un schéma permet à ce rôle de résoudre le schéma. Par exemple, un rôle doté du privilège CREATE sur un schéma peut créer des objets sur ce schéma sans également avoir le privilège USAGE attribué sur ce schéma.

Pour obtenir des instructions sur la création d’un rôle personnalisé avec un ensemble spécifique de privilèges, voir Création de rôles personnalisés.

Pour des informations générales sur les rôles et les privilèges accordés pour effectuer des actions SQL sur des objets sécurisables, voir Aperçu du contrôle d’accès.

Notes sur l’utilisation

  • Cette commande n’affiche pas les paramètres d’objet d’une table. Au lieu de cela, utilisez SHOW PARAMETERS IN TABLE.

  • DESC ICEBERG TABLE, DESCRIBE TABLE et DESCRIBE VIEW sont interchangeables. N’importe laquelle de ces commandes récupère les détails de la table ou de la vue qui correspond aux critères de l’instruction ; cependant, TYPE = STAGE ne s’applique pas aux vues, car les vues n’ont pas de propriétés de zone de préparation.

  • La sortie inclut une colonne POLICY NAME pour indiquer la politique de masquage définie sur la colonne.

    Si une politique de masquage n’est pas définie sur la colonne ou si le compte Snowflake n’est pas Enterprise Edition ou supérieur, Snowflake renvoie NULL.

  • La commande renvoie la colonne NAME_MAPPING uniquement si vous configurez Iceberg Compatibility V2 (icebergCompatV2) pour la table Delta sur laquelle votre table Iceberg est basée.

    Note

    Pour voir la colonne NAME_MAPPING, vous devez également activer le bundle de changements de comportement 2025_01 dans votre compte.

    Pour activer ce bundle dans votre compte, exécutez l’instruction suivante :

    SELECT SYSTEM$ENABLE_BEHAVIOR_CHANGE_BUNDLE('2025_01');
    
    Copy
  • Pour post-traiter la sortie de cette commande, vous pouvez utiliser l’opérateur de canal (->>) ou la fonction RESULT_SCAN. Les deux constructions traitent la sortie comme un jeu de résultats que vous pouvez interroger.

    For example, you can use the pipe operator or RESULT_SCAN function to select specific columns from the SHOW command output or filter the rows.

    When you refer to the output columns, use double-quoted identifiers for the column names. For example, to select the output column type, specify SELECT "type".

    You must use double-quoted identifiers because the output column names for SHOW commands are in lowercase. The double quotes ensure that the column names in the SELECT list or WHERE clause match the column names in the SHOW command output that was scanned.

Exemple

Créer un exemple de table Iceberg :

CREATE OR REPLACE ICEBERG TABLE my_iceberg_table
  CATALOG='my_catalog_integration'
  EXTERNAL_VOLUME='my_ext_volume'
  METADATA_FILE_PATH='path/to/metadata/v2.metadata.json';
Copy

Décrire les colonnes de la table :

DESC ICEBERG TABLE my_iceberg_table ;
Copy