Tous les produits
Search
Centre de documentation

MaxCompute:Opérations sur les tables

Dernière mise à jour :Sep 17, 2026

Les tables constituent les unités fondamentales de stockage des données dans MaxCompute. Toutes les tâches de développement, d'analyse et d'exploitation au sein d'un entrepôt de données s'articulent autour des données tabulaires. Cette rubrique décrit les opérations courantes sur les tables, telles que la création, la suppression et l'interrogation des tables.

Outils d'exécution

Exécutez les commandes présentées dans cette rubrique à l'aide des outils suivants :

Opérations courantes

  1. Opérations sur les tables

    Type

    Fonction

    Rôle

    Créer une table

    Crée une table non partitionnée, partitionnée, externe ou en cluster.

    Utilisateurs disposant de l'autorisation CreateTable sur un projet.

    Modifier le propriétaire de la table

    Modifie le propriétaire d'une table.

    Propriétaire du projet

    DROP TABLE

    Supprime une table non partitionnée ou partitionnée.

    Utilisateurs disposant de l'autorisation DROP sur une table.

    Tables ou vues

    Affiche les informations relatives à une table gérée MaxCompute, à une vue ou à une table externe.

    Utilisateurs disposant de l'autorisation Describe sur les métadonnées de la table.

    Afficher les informations de partition

    Affiche les informations de partition pour une table partitionnée spécifique.

    Utilisateurs disposant de l'autorisation Describe sur les métadonnées de la table.

    Afficher les tables et vues d'un projet

    Répertorie toutes les tables et vues d'un projet, ou celles correspondant à une règle spécifique (les expressions régulières sont prises en charge).

    Utilisateurs disposant de l'autorisation List sur un projet.

    Afficher les partitions

    Répertorie toutes les partitions d'une table.

    Utilisateurs disposant de l'autorisation List sur un projet.

  2. Opérations sur les partitions

  3. Opérations sur les colonnes

  4. Opérations sur le cycle de vie des tables

Créer une table

Créez des tables non partitionnées, partitionnées, externes ou en cluster.

Limitations

  • Une table partitionnée peut comporter jusqu'à six niveaux de partition. Par exemple, vous pouvez utiliser une date comme colonne de partition et définir des niveaux tels que year/month/week/day/hour/minute.

  • Le nombre maximal de partitions par table est configurable par projet, avec une valeur par défaut de 60 000.

Des limitations supplémentaires concernant les tables sont documentées dans la rubrique Limites SQL de MaxCompute.

Syntaxe

Table interne

Créer une table interne (non partitionnée ou partitionnée)

CREATE [OR REPLACE] TABLE [IF NOT EXISTS] <table_name> (
<col_name> <data_type>, ... )
[COMMENT <table_comment>]
[PARTITIONED BY (<col_name> <data_type> [COMMENT <col_comment>], ...)]
[AUTO PARTITIONED 
   BY (<auto_partition_expression> [AS <auto_partition_column_name>])
  [TBLPROPERTIES('ingestion_time_partition'='true')]
];

Table en cluster

Créer une table en cluster

CREATE TABLE [IF NOT EXISTS] <table_name> (
<col_name> <data_type>, ... )
[CLUSTERED BY | RANGE CLUSTERED BY (<col_name> [, <col_name>, ...]) 
[SORTED BY (<col_name> [ASC | DESC] [, <col_name> [ASC | DESC] ...])] 
INTO <number_of_buckets> BUCKETS];

Table externe

Créer une table externe

Cet exemple crée une table externe OSS à l'aide de l'analyseur de données texte intégré. D'autres formats sont abordés dans la rubrique Table externe ORC.

CREATE EXTERNAL TABLE [IF NOT EXISTS] <mc_oss_extable_name> ( 
<col_name> <data_type>, ... ) 
STORED AS '<file_format>' 
[WITH SERDEPROPERTIES (options)]  
LOCATION '<oss_location>';

Tables transactionnelles et Delta

  • Crée une table transactionnelle. Vous pouvez exécuter des opérations UPDATE ou DELETE sur ce type de table. Toutefois, les tables transactionnelles présentent certaines limitations.

    CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <table_name> (
    <col_name <data_type> [NOT NULL] [DEFAULT <default_value>] [COMMENT <col_comment>], ...   
    [COMMENT <table_comment>]
    [TBLPROPERTIES ("transactional"="true")];
  • Crée une table Delta. Lorsqu'elle est combinée à une clé primaire, elle permet d'effectuer des opérations telles que les upserts, les requêtes incrémentielles et le time travel.

    CREATE [EXTERNAL] TABLE [IF NOT EXISTS] <table_name> (
    <col_name <data_type> [NOT NULL] [DEFAULT <default_value>] [COMMENT <col_comment>], ...   
    [PRIMARY KEY (<pk_col_name>[, <pk_col_name2>, ...] )]) 
    [COMMENT <table_comment>]
    [CLUSTERED BY (<pk_col_name>[, <pk_col_name2>, ...] )]
    [TBLPROPERTIES ("transactional"="true" 
    [, "write.bucket.num" = "N", "acid.data.retain.hours"="hours"...])] [LIFECYCLE <days>];
    • Une table Delta dotée d'une clé primaire vous permet d'utiliser un sous-ensemble de la clé primaire comme clé de hachage pour le clustering.

      Dans une table Delta avec clé primaire, le système utilise par défaut le clustering par hachage avec la clé primaire complète comme clé de cluster. Si vos requêtes filtrent fréquemment sur un sous-ensemble des colonnes de la clé primaire, spécifiez explicitement ce sous-ensemble comme clé de cluster afin d'améliorer les performances de filtrage.

    • Si vous spécifiez explicitement une clé de cluster, le système distribue les données de la table dans des compartiments de hachage basés sur les colonnes spécifiées. La clé de cluster doit être un sous-ensemble des colonnes de la clé primaire.

      Si vous ne spécifiez pas explicitement de clé de cluster, le système utilise l'ensemble complet des colonnes de la clé primaire comme clé de cluster par défaut.

      Vous ne pouvez pas modifier la clé de cluster après la création de la table. Vous devez la spécifier lors de la création de la table.

Clauses CTAS et LIKE

  • Crée une nouvelle table basée sur une table existante et copie les données, mais ne copie pas les propriétés de partition. Cette clause s'applique aux tables externes et aux tables des projets Lakehouse externes.

    CREATE TABLE [IF NOT EXISTS] <table_name> [LIFECYCLE <days>] AS <select_statement>;
  • Crée une nouvelle table ayant la même structure qu'une table existante, sans copier les données. Cette clause s'applique aux tables externes et aux tables des projets Lakehouse externes.

    CREATE TABLE [IF NOT EXISTS] <table_name> [LIFECYCLE <days>] LIKE <existing_table_name>;

Paramètres

Paramètres généraux

Paramètres généraux

Paramètre

Obligatoire

Description

Remarques

OR REPLACE

Non

  • Si une table portant le même nom existe déjà, elle est supprimée et remplacée par la nouvelle table.

  • La clause CREATE OR REPLACE TABLE ne peut pas être utilisée avec les clauses suivantes :

    • CREATE TABLE ... IF NOT EXISTS

Cette opération équivaut à l'exécution des commandes suivantes :

DROP TABLE IF EXISTS <tableName>;  -- If the table exists, drop it.
CREATE TABLE <tableName> ...;      -- Create the new table.

EXTERNAL

Non

Crée une table externe.

S.O.

IF NOT EXISTS

Non

Crée la table uniquement si aucune table du même nom n'existe déjà.

Sans la clause IF NOT EXISTS, la création d'une table dont le nom existe déjà renvoie une erreur. Avec la clause IF NOT EXISTS, l'instruction aboutit même si une table homonyme existe avec un schéma différent. Les métadonnées de la table existante restent inchangées.

table_name

Oui

Nom de la table.

Le nom de la table doit comporter au maximum 128 octets et contenir uniquement des lettres, des chiffres et des traits de soulignement (_). La casse n'est pas prise en compte. Il est recommandé de commencer le nom par une lettre.

PRIMARY KEY(pk)

Non

Clé primaire de la table.

Définissez une ou plusieurs colonnes comme clé primaire pour garantir l'unicité de la combinaison de colonnes. La syntaxe suit celle des clés primaires SQL standard. Les colonnes de clé primaire doivent être définies avec la contrainte NOT NULL et ne peuvent pas être modifiées.

Important

Ce paramètre s'applique uniquement aux tables Delta.

col_name

Oui

Nom de la colonne.

  • Le nom de la colonne doit comporter au maximum 128 octets et contenir uniquement des lettres, des chiffres, des traits de soulignement (_) ou des caractères chinois. La casse n'est pas prise en compte. Il est recommandé de commencer le nom par une lettre.

  • Exécutez la commande SET odps.sql.bigquery.compatible=true; pour activer le mode de compatibilité BigQuery. Dans ce mode, le nom de la colonne peut atteindre 256 octets. Dans le cas contraire, une erreur est renvoyée.

col_comment

Non

Commentaire de la colonne.

Doit être une chaîne de caractères d'au plus 1 024 octets.

data_type

Oui

Type de données de la colonne.

Types pris en charge : BIGINT, DOUBLE, BOOLEAN, DATETIME, DECIMAL, STRING et autres types répertoriés dans la section Types de données.

NOT NULL

Non

Indique que la colonne ne peut pas contenir de valeurs NULL.

Pour plus d'informations sur la modification de la propriété NOT NULL, consultez la section Opérations sur les partitions.

default_value

Non

Valeur par défaut de la colonne.

Si une opération insert ne spécifie pas de valeur pour cette colonne, la valeur par défaut est écrite dans la colonne.

Remarque

Les fonctions telles que GETDATE() et NOW() ne sont pas prises en charge comme valeurs par défaut.

table_comment

Non

Commentaire de la table.

Doit être une chaîne de caractères d'au plus 1 024 octets.

LIFECYCLE

Non

Durée de vie de la table, exprimée en jours.

Seuls les entiers positifs sont acceptés. L'unité est le jour.

  • Pour une table non partitionnée, le cycle de vie commence à la dernière modification des données. Si les données ne sont pas modifiées pendant le nombre de jours spécifié, MaxCompute récupère automatiquement la table, ce qui équivaut à une opération DROP TABLE.

  • Pour une table partitionnée, le système détermine s'il faut récupérer une partition en fonction de son attribut LastModifiedTime. Contrairement aux tables non partitionnées, la table elle-même n'est pas supprimée après la récupération de sa dernière partition. Le cycle de vie ne peut être défini qu'au niveau de la table, et non au niveau de la partition.

Paramètres des tables partitionnées

Paramètres des tables partitionnées

MaxCompute prend en charge les tables partitionnées standard et les tables à partitionnement automatique. Choisissez l'option appropriée en fonction de la méthode de génération des colonnes de partition. Pour plus de détails, consultez la section Présentation des tables partitionnées.

Paramètres des tables partitionnées standard

Paramètre

Obligatoire

Description

Remarques

PARTITIONED BY

Oui

Spécifie les partitions d'une table partitionnée standard.

Vous pouvez spécifier les partitions à l'aide de PARTITIONED BY ou de AUTO PARTITIONED BY, mais pas des deux simultanément.

col_name

Oui

Nom de la colonne de partition.

  • Le nom de la colonne doit comporter au maximum 128 octets et contenir uniquement des lettres, des chiffres, des traits de soulignement (_) ou des caractères chinois. La casse n'est pas prise en compte. Il est recommandé de commencer le nom par une lettre.

  • Exécutez la commande SET odps.sql.bigquery.compatible=true; pour activer le mode de compatibilité BigQuery. Dans ce mode, le nom de la colonne peut atteindre 256 octets. Dans le cas contraire, une erreur est renvoyée.

data_type

Oui

Type de données de la colonne de partition.

MaxCompute V1.0 prend uniquement en charge le type STRING. La version V2.0 ajoute les types TINYINT, SMALLINT, INT, BIGINT et VARCHAR (le type STRING reste pris en charge). Consultez la liste complète dans la section Types de données. Le partitionnement permet d'éliminer les analyses complètes de table pour les opérations au niveau des partitions.

col_comment

Non

Commentaire de la colonne de partition.

Doit être une chaîne de caractères d'au plus 1 024 octets.

Remarque

Une valeur de partition doit comporter au maximum 255 octets. Elle ne peut pas contenir de caractères double-octet, tels que les caractères chinois. La valeur doit commencer par une lettre et contenir uniquement des lettres, des chiffres et les caractères suivants : espace, deux-points (:), trait de soulignement (_), signe dollar ($), dièse (#), point (.), point d'exclamation (!) et arobase (@). Le comportement des autres caractères, tels que les caractères d'échappement \t, \n et /, n'est pas défini.

Paramètres des tables à partitionnement automatique

Une table à partitionnement automatique génère automatiquement les colonnes de partition. Les détails d'utilisation figurent dans la section Types de tables partitionnées.

Paramètre

Obligatoire

Description

Remarques

AUTO PARTITIONED BY

Oui

Spécifie les partitions d'une table à partitionnement automatique.

Vous pouvez spécifier les partitions à l'aide de PARTITIONED BY ou de AUTO PARTITIONED BY, mais pas des deux simultanément.

auto_partition_expression

Oui

Expression qui définit le calcul de la colonne de partition.

Actuellement, seule la fonction TRUNC_TIME peut être utilisée pour générer la colonne de partition. Une seule colonne de partition est prise en charge.

La fonction TRUNC_TIME permet de tronquer les données d'une colonne de type heure ou date selon une unité de temps spécifiée afin de générer une colonne de partition.

auto_partition_column_name

Non

Nom de la colonne de partition générée.

Si aucun nom n'est spécifié, le système utilise _pt_col_0_ comme nom par défaut. Si ce nom est déjà utilisé, le système incrémente le suffixe (par exemple, _pt_col_1_ ou _pt_col_2_) jusqu'à trouver un nom inutilisé.

Sur la base du calcul issu de l'expression de partition, une colonne de partition de type STRING est générée. Vous pouvez spécifier explicitement un nom pour cette colonne, mais vous ne pouvez pas modifier directement son type de données ni sa valeur.

TBLPROPERTIES('ingestion_time_partition'='true')

Non

Indique s'il faut générer des colonnes de partition en fonction de l'heure d'ingestion des données.

Le partitionnement basé sur l'heure d'ingestion est décrit dans la section Tables à partitionnement automatique basées sur l'heure d'ingestion des données.

Paramètres des tables clusterisées

Paramètres des tables clusterisées

Les tables clusterisées se divisent en deux catégories : les tables clusterisées par hachage et les tables clusterisées par plage.

Table clusterisée par hachage

Paramètre

Obligatoire

Description

Remarques

CLUSTERED BY

Oui

Spécifie la clé de hachage. MaxCompute calcule les valeurs de hachage pour les colonnes spécifiées et distribue les données dans des compartiments de hachage en fonction de ces valeurs.

Pour éviter le déséquilibre des données (data skew) et obtenir un bon parallélisme, choisissez des colonnes présentant une cardinalité élevée et peu de doublons pour la clause CLUSTERED BY. Pour optimiser les opérations join, sélectionnez les clés de jointure ou d'agrégation fréquemment utilisées.

SORTED BY

Oui

Spécifie l'ordre de tri des colonnes au sein de chaque compartiment de hachage.

Pour des performances optimales, utilisez les mêmes colonnes pour les clauses SORTED BY et CLUSTERED BY. Après avoir spécifié la clause SORTED BY, MaxCompute crée automatiquement un index et l'utilise pour accélérer les requêtes.

number_of_buckets

Oui

Spécifie le nombre de compartiments de hachage.

Cette valeur est obligatoire et dépend du volume de données.

Remarque

Lorsque vous sélectionnez le nombre de compartiments de hachage, respectez les deux principes suivants :

  • Maintenez une taille modérée pour les compartiments de hachage : la taille recommandée pour chaque compartiment est d'environ 500 Mo. Par exemple, si la taille estimée de la partition est de 500 Go, définissez le nombre de compartiments à 1 000. Cela donne une taille moyenne de compartiment d'environ 500 Mo. Pour les très grandes tables, vous pouvez dépasser la limite de 500 Mo. Une taille de 2 à 3 Go par compartiment est adaptée.

  • Pour optimiser les opérations join et supprimer les étapes de brassage (shuffle) et de tri, ce qui améliore considérablement les performances, le nombre de compartiments de hachage des deux tables doit être un multiple l'un de l'autre, par exemple 256 et 512. Il est recommandé de définir le nombre de compartiments de hachage sur une puissance de 2 (2n), telle que 512, 1 024, 2 048 ou 4 096. Cela permet au système de diviser ou de fusionner automatiquement les compartiments de hachage et de supprimer les étapes de brassage et de tri, améliorant ainsi l'efficacité d'exécution.

Table clusterisée par plage

Paramètre

Obligatoire

Description

Remarques

RANGE CLUSTERED BY

Oui

Spécifie les colonnes de clusterisation par plage.

MaxCompute effectue des opérations de regroupement (bucketing) sur les colonnes spécifiées et distribue les données dans des compartiments en fonction des numéros de compartiment.

SORTED BY

Oui

Spécifie l'ordre de tri des colonnes au sein de chaque compartiment.

L'utilisation est identique à celle d'une table clusterisée par hachage.

number_of_buckets

Oui

Spécifie le nombre de compartiments.

Pour une table clusterisée par plage, la bonne pratique consistant à utiliser une puissance de 2 (2n), applicable aux tables clusterisées par hachage, n'est pas requise. Tout nombre de compartiments est acceptable si les données sont réparties uniformément. Ce paramètre est facultatif pour les tables clusterisées par plage. Si vous l'omettez, le système détermine automatiquement le nombre optimal de compartiments en fonction du volume de données.

Lorsqu'une opération de jointure ou d'agrégation est effectuée sur une table clusterisée par plage, si la clé de jointure ou la clé de groupe correspond à la clé de clusterisation par plage ou à son préfixe, vous pouvez éliminer la redistribution des données (suppression du brassage) pour améliorer les performances. Exécutez la commande set odps.optimizer.enable.range.partial.repartitioning=true/false; pour activer ou désactiver cette fonctionnalité. Elle est désactivée par défaut.

Remarque
  • Avantages des tables clusterisées :

    • Optimisation de l'élagage des compartiments (bucket pruning)

    • Optimisation des agrégations

    • Optimisation du stockage

  • Limites des tables clusterisées :

    • L'instruction INSERT INTO n'est pas prise en charge. Vous pouvez ajouter des données uniquement à l'aide de l'instruction INSERT OVERWRITE.

    • Le téléchargement direct de données vers une table clusterisée par plage via Tunnel n'est pas pris en charge, car Tunnel télécharge les données de manière non ordonnée.

    • Les fonctionnalités de sauvegarde et de restauration ne sont pas prises en charge.

Paramètres des tables externes

Paramètres des tables externes

Cette section couvre les paramètres des tables externes OSS. Les autres types de tables externes sont documentés dans la section Tables externes.

Paramètre

Obligatoire

Description

STORED AS '<file_format>'

Oui

Spécifie le format de fichier (file_format) en fonction du format de données de la table externe.

WITH SERDEPROPERTIES(options)

Non

Spécifie les paramètres liés à l'autorisation, à la compression et à l'analyse des caractères pour la table externe.

oss_location

Oui

Emplacement de stockage OSS des données de la table externe. Pour plus d'informations, consultez la section Tables externes OSS.

Paramètres des tables transactionnelles et des tables Delta

Paramètres des tables transactionnelles et des tables Delta

Paramètres des tables Delta

Une table Delta est un format de table qui prend en charge les lectures et écritures en quasi-temps réel, le stockage et l'accès incrémentiels, ainsi que les mises à jour en temps réel. Actuellement, seules les tables avec clé primaire sont prises en charge.

Paramètre

Obligatoire

Description

Remarques

PRIMARY KEY(PK)

Oui

Définit la clé primaire de la table Delta, qui peut inclure plusieurs colonnes.

La syntaxe suit celle des clés primaires SQL standard. Les colonnes de clé primaire doivent être définies avec la contrainte NOT NULL et ne peuvent pas être modifiées. Après la définition de la clé primaire, les données sont dédoublonnées en fonction des colonnes de clé primaire. La contrainte d'unicité est appliquée au sein d'une seule partition ou d'une table non partitionnée.

transactional

Oui

Obligatoire pour la création d'une table Delta. Vous devez définir ce paramètre sur true.

Indique que la table prend en charge les propriétés transactionnelles des tables ACID MaxCompute. La table utilise le modèle de contrôle de concurrence multiversion (MVCC) pour garantir le niveau d'isolation des instantanés.

write.bucket.num

Non

La valeur par défaut est 16. La plage valide est (0, 4096].

Spécifie le nombre de compartiments pour chaque partition ou pour une table non partitionnée. Cela indique également le nombre de nœuds concurrents pour les écritures de données. Vous pouvez modifier ce paramètre pour une table partitionnée, et le nouveau paramètre s'applique aux nouvelles partitions. Vous ne pouvez pas modifier ce paramètre pour une table non partitionnée. Tenez compte des recommandations suivantes :

  • Si vous importez des données via Tunnel, ce paramètre spécifie le nombre de nœuds Tunnel concurrents. Le paramètre affecte le trafic d'importation et est également contraint par le nombre maximal de nœuds Tunnel concurrents.

  • Si vous écrivez des données via SQL, ce paramètre spécifie le degré de concurrence des réducteurs. Il est contraint par le nombre maximal de nœuds réducteurs concurrents.

  • La taille recommandée pour chaque compartiment est d'environ 500 Mo de données. Par exemple, si la taille estimée de la partition est de 500 Go, définissez le nombre de compartiments à 1 000. Pour les très grandes tables, vous pouvez augmenter la taille du compartiment à 2 ou 3 Go.

acid.data.retain.hours

Non

La valeur par défaut est 24. La plage valide est [24, 168].

Spécifie la plage de temps, en heures, pendant laquelle vous pouvez interroger les états historiques des données à l'aide de Time Travel. Si vous avez besoin d'un historique Time Travel supérieur à 168 heures (7 jours), contactez le support technique MaxCompute.

  • Une valeur de 0 indique que l'état historique des données n'est pas conservé et que les requêtes Time Travel ne sont pas prises en charge.

  • Les données historiques plus anciennes que la valeur spécifiée peuvent être supprimées ou compactées.

  • Si une requête Time Travel spécifie une heure antérieure à la plage autorisée définie par ce paramètre, une erreur est renvoyée. Par exemple, si cette valeur est 72, une requête portant sur des données datant de plus de 72 heures échoue.

acid.incremental.query.out.of.time.range.enabled

Non

Valeur par défaut : false.

Si la valeur est true, le paramètre endTimestamp d'une requête incrémentielle peut être postérieur à la dernière heure de validation (commit) des données de la table. Dans ce cas, plusieurs requêtes peuvent renvoyer des résultats différents car de nouvelles données peuvent être insérées. Vous pouvez modifier la valeur de ce paramètre pour une table existante.

acid.write.precombine.field

Non

Spécifie un nom de colonne unique.

Si un nom de colonne est spécifié, le système utilise cette colonne conjointement avec les colonnes de clé primaire pour dédoublonner les données au sein d'une même validation (commit). Cela garantit l'unicité et la cohérence des données.

Remarque

Si une validation de données unique dépasse 128 Mo, plusieurs fichiers sont générés. Ce paramètre ne s'applique pas entre plusieurs fichiers.

acid.partial.fields.update.enable

Non

Si la valeur est true, vous pouvez effectuer une mise à jour partielle des colonnes sur la table Delta à l'aide de SQL ou de Tunnel.

Ce paramètre est défini lors de la création de la table. Il ne peut pas être modifié après la création de la table.

  • Autres exigences de paramètres pour les tables Delta :

    • LIFECYCLE : le cycle de vie de la table doit être supérieur ou égal à la période de rétention Time Travel, c'est-à-dire lifecycle >= acid.data.retain.hours / 24. Une vérification est effectuée lors de la création de la table et une erreur est signalée si cette condition n'est pas remplie.

    • Fonctionnalités non prises en charge : CLUSTERED BY, EXTERNAL et CREATE TABLE AS ne sont pas pris en charge.

  • Autres limites :

    • Actuellement, les autres moteurs ne peuvent pas opérer directement sur une table Delta. Seul MaxCompute SQL est pris en charge.

    • Vous ne pouvez pas convertir une table standard en table Delta.

    • Vous ne pouvez pas effectuer de modifications de schéma sur les colonnes de clé primaire d'une table Delta.

Paramètres des tables transactionnelles

Paramètre

Obligatoire

Description

TBLPROPERTIES("transactional"="true")

Oui

Définit la table comme une table transactionnelle, activant les opérations update et delete au niveau des lignes. Consultez la section Mettre à jour ou supprimer des données (UPDATE

DELETE).

Les limites suivantes s'appliquent aux tables transactionnelles :

  • Vous ne pouvez définir la propriété transactional qu'au moment de la création d'une table. Vous ne pouvez pas utiliser l'instruction ALTER TABLE pour modifier cette propriété sur une table existante. L'instruction suivante renvoie une erreur :

    ALTER TABLE not_txn_tbl SET TBLPROPERTIES("transactional"="true");
    -- Error returned.
    FAILED: Catalog Service Failed, ErrorCode: 151, Error Message: Set transactional is not supported
  • Vous ne pouvez pas définir une table clusterisée ou une table externe comme table transactionnelle.

  • Vous ne pouvez pas convertir une table interne standard, une table externe ou une table clusterisée en table transactionnelle, ni l'inverse.

  • La compaction automatique n'est pas prise en charge. Compactez manuellement les fichiers comme décrit dans la section Compacter les fichiers d'une table transactionnelle.

  • L'opération merge partition n'est pas prise en charge.

  • L'accès aux tables transactionnelles depuis d'autres systèmes est limité. Par exemple, MaxCompute Graph ne prend pas en charge les opérations de lecture ou d'écriture. Spark et PAI ne prennent en charge que les opérations de lecture.

  • Avant d'effectuer des opérations update, delete ou insert overwrite sur des données importantes, sauvegardez-les manuellement dans une autre table à l'aide d'une instruction SELECT ... INSERT.

Créer une table (à partir d'une table existante)

Création d'une table (à partir d'une table existante)

  • Utilisez l'instruction CREATE TABLE [IF NOT EXISTS] <table_name> [LIFECYCLE <days>] AS <select_statement>; pour créer une nouvelle table et y copier simultanément les données.

    • Cette instruction ne copie pas les propriétés de partitionnement. Les colonnes de partition de la table source sont traitées comme des colonnes ordinaires dans la table de destination. La propriété de cycle de vie de la table source n'est pas non plus copiée.

    • Vous pouvez utiliser le paramètre lifecycle pour spécifier un cycle de vie pour la nouvelle table. Cette instruction permet également de créer une table interne en copiant les données depuis une table externe.

  • Utilisez l'instruction CREATE TABLE [IF NOT EXISTS] <table_name> [LIFECYCLE <days>] LIKE <existing_table_name>; pour créer une nouvelle table ayant le même schéma qu'une table existante.

    • Cette instruction copie le schéma, mais ni les données ni la propriété de cycle de vie de la table source.

    • Vous pouvez utiliser le paramètre lifecycle pour spécifier un cycle de vie pour la nouvelle table. Cette instruction prend également en charge la création d'une table interne qui copie le schéma d'une table externe.

Exemples

Table non partitionnée

  • Créez une table non partitionnée.

    CREATE TABLE test1 (key STRING);
  • Créez une table non partitionnée et spécifiez des valeurs par défaut pour les colonnes.

    CREATE TABLE test_default( 
    tinyint_name tinyint NOT NULL default 1Y,
    smallint_name SMALLINT NOT NULL DEFAULT 1S,
    int_name INT NOT NULL DEFAULT 1,
    bigint_name BIGINT NOT NULL DEFAULT 1,
    binary_name BINARY ,
    float_name FLOAT ,
    double_name DOUBLE NOT NULL DEFAULT 0.1,
    decimal_name DECIMAL(2, 1) NOT NULL DEFAULT 0.0BD,
    varchar_name VARCHAR(10) ,
    char_name CHAR(2) ,
    string_name STRING NOT NULL DEFAULT 'N',
    boolean_name BOOLEAN NOT NULL DEFAULT TRUE
    );

Table partitionnée

  • Créez une table partitionnée standard.

    CREATE TABLE IF NOT EXISTS sale_detail(
     shop_name     STRING,
     customer_id   STRING,
     total_price   DOUBLE)
    PARTITIONED BY (sale_date STRING, region STRING);
  • Créez une table partitionnée AUTO PARTITION qui génère des partitions basées sur une colonne de données temporelle à l'aide d'une fonction de temps.

    -- The sale_date column is truncated by month to generate a partition column named sale_month. The table is then partitioned by this column.
    CREATE TABLE IF NOT EXISTS auto_sale_detail(
     shop_name     STRING,
     customer_id   STRING,
     total_price   DOUBLE,
     sale_date    DATE )
    AUTO PARTITIONED BY (TRUNC_TIME(sale_date, 'month') AS sale_month);
  • Créez une table partitionnée AUTO PARTITION qui génère des partitions basées sur l'heure d'ingestion des données. Le système récupère automatiquement l'heure d'écriture des données dans MaxCompute et génère des partitions à l'aide d'une fonction de temps.

    -- After the table is created, when data is written, the system automatically captures the data ingestion time (_partitiontime), truncates it by day, generates a partition column named sale_date, and then partitions the table by this column.
    CREATE TABLE IF NOT EXISTS auto_sale_detail2(
     shop_name     STRING,
     customer_id   STRING,
     total_price   DOUBLE,
     _partitiontime TIMESTAMP_NTZ)
    AUTO PARTITIONED BY (TRUNC_TIME(_partitiontime, 'day') AS sale_date)
    TBLPROPERTIES('ingestion_time_partition'='true');

Table clusterisée par hachage ou par plage

  • Créez une table non partitionnée clusterisée par hachage.

    CREATE TABLE t1 (a STRING, b STRING, c BIGINT) CLUSTERED BY (c) SORTED BY (c) INTO 1024 buckets;
  • Créez une table partitionnée clusterisée par hachage.

    CREATE TABLE t2 (a STRING, b STRING, c BIGINT) 
    PARTITIONED BY (dt STRING) CLUSTERED BY (c) SORTED BY (c) INTO 1024 buckets;
  • Créez une table non partitionnée clusterisée par plage.

    CREATE TABLE t3 (a STRING, b STRING, c BIGINT) RANGE CLUSTERED BY (c) SORTED BY (c) INTO 1024 buckets;
  • Créez une table partitionnée clusterisée par plage.

    CREATE TABLE t4 (a STRING, b STRING, c BIGINT) 
    PARTITIONED BY (dt STRING) RANGE CLUSTERED BY (c) SORTED BY (c); 

Table transactionnelle

  • Créez une table transactionnelle non partitionnée.

    CREATE TABLE t5(id BIGINT) TBLPROPERTIES ("transactional"="true");
  • Créez une table transactionnelle partitionnée.

    CREATE TABLE IF NOT EXISTS t6(id BIGINT) 
    PARTITIONED BY (ds STRING) TBLPROPERTIES ("transactional"="true");

Table interne

  • Créez une table interne en copiant les données d'une table externe partitionnée. La table interne n'inclura pas les propriétés de partitionnement.

    1. Créez une table externe OSS et une table interne MaxCompute. Créez une table interne à l'aide de CREATE TABLE AS.

      -- Create an OSS external table and insert data into it.
      CREATE EXTERNAL TABLE max_oss_test(a INT, b INT, c INT) 
      STORED AS TEXTFILE
      LOCATION "oss://oss-cn-hangzhou-internal.aliyuncs.com/<bucket_name>";
      
      INSERT INTO max_oss_test VALUES 
      (101, 1, 20241108),
      (102, 2, 20241109),
      (103, 3, 20241110);
      
      SELECT * FROM max_oss_test;
      
      -- Result
      a    b    c
      101    1    20241108
      102    2    20241109
      103    3    20241110
      
      -- Create an internal table by using CREATE TABLE AS.
      CREATE TABLE from_exetbl_oss AS SELECT * FROM max_oss_test;
      
      -- Query the new internal table.
      SELECT * FROM from_exetbl_oss;
      
      -- The result shows that all data is copied.
      a    b    c
      101    1    20241108
      102    2    20241109
      103    3    20241110
    2. Exécutez la commande DESC from_exetbl_oss; pour afficher le schéma de la table interne. La commande renvoie la sortie suivante.

      +------------------------------------------------------------------------------------+
      | Owner:                    ALIYUN$***********                                       |
      | Project:                  ***_*****_***                                            |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2023-01-10 15:16:33                                      |
      | LastDDLTime:              2023-01-10 15:16:33                                      |
      | LastModifiedTime:         2023-01-10 15:16:33                                      |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 919                                                |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field           | Type       | Label | Comment                                     |
      +------------------------------------------------------------------------------------+
      | a               | string     |       |                                             |
      | b               | string     |       |                                             |
      | c               | string     |       |                                             |
      +------------------------------------------------------------------------------------+
  • Créez une table interne en copiant le schéma d'une table externe partitionnée. La table interne inclut les propriétés de partitionnement.

    1. Créez la table interne from_exetbl_like. Interrogez la table externe OSS depuis MaxCompute. Créez une table interne à l'aide de CREATE TABLE LIKE.

      -- Query the OSS external table from MaxCompute.
      SELECT * FROM max_oss_test;
      -- Result
      a    b    c
      101    1    20241108
      102    2    20241109
      103    3    20241110
      
      -- Create an internal table by using CREATE TABLE LIKE.
      CREATE TABLE from_exetbl_like LIKE max_oss_test;
      
      -- Query the new internal table.
      SELECT * FROM from_exetbl_like;
      -- Result: Only the table schema is returned.
      a    b    c
    2. Exécutez la commande DESC from_exetbl_like; pour afficher le schéma de la table interne. La commande renvoie la sortie suivante.

      +------------------------------------------------------------------------------------+
      | Owner:                    ALIYUN$************                                      |
      | Project:                  ***_*****_***                                            |
      | TableComment:                                                                      |
      +------------------------------------------------------------------------------------+
      | CreateTime:               2023-01-10 15:09:47                                      |
      | LastDDLTime:              2023-01-10 15:09:47                                      |
      | LastModifiedTime:         2023-01-10 15:09:47                                      |
      +------------------------------------------------------------------------------------+
      | InternalTable: YES      | Size: 0                                                  |
      +------------------------------------------------------------------------------------+
      | Native Columns:                                                                    |
      +------------------------------------------------------------------------------------+
      | Field           | Type       | Label | Comment                                     |
      +------------------------------------------------------------------------------------+
      | a               | string     |       |                                             |
      | b               | string     |       |                                             |
      +------------------------------------------------------------------------------------+
      | Partition Columns:                                                                 |
      +------------------------------------------------------------------------------------+
      | c               | string     |                                                     |
      +------------------------------------------------------------------------------------+

Table Delta

  • Créez une table Delta.

    CREATE TABLE mf_tt (pk BIGINT NOT NULL PRIMARY KEY, val BIGINT) 
      TBLPROPERTIES ("transactional"="true");
  • Créez une table Delta et définissez les propriétés clés de la table.

    CREATE TABLE mf_tt2 ( 
      pk BIGINT NOT NULL, 
      pk2 BIGINT NOT NULL, 
      val BIGINT, 
      val2 BIGINT, 
      PRIMARY KEY (pk, pk2)
    ) 
    TBLPROPERTIES (
      "transactional"="true", 
      "write.bucket.num" = "64", 
      "acid.data.retain.hours"="120"
    ) LIFECYCLE 7;

Autres méthodes

Remplacer une table existante

  1. Créez la table d'origine my_table et insérez-y des données.

    CREATE OR REPLACE TABLE my_table(a BIGINT);
    
    INSERT INTO my_table(a) VALUES (1),(2),(3);
  2. Utilisez OR REPLACE pour créer une nouvelle table portant le même nom et modifier ses colonnes.

    CREATE OR REPLACE TABLE my_table(b STRING);
  3. Interrogez la table my_table. La requête renvoie le résultat suivant.

    +------------+
    | b          | 
    +------------+
    +------------+

    Les instructions SQL suivantes sont invalides :

    CREATE OR REPLACE TABLE IF NOT EXISTS my_table(b STRING);
    CREATE OR REPLACE TABLE my_table AS SELECT;
    CREATE OR REPLACE TABLE my_table LIKE newtable;

Copier des données et définir un cycle de vie

-- Create a new table named sale_detail_ctas1, copy the data from sale_detail to it, and set a lifecycle.
SET odps.sql.allow.fullscan=true;
CREATE TABLE sale_detail_ctas1 LIFECYCLE 10 AS SELECT * FROM sale_detail;

Exécutez la commande DESC EXTENDED sale_detail_ctas1; pour afficher des détails tels que le schéma et le cycle de vie de la table.

Remarque

Dans cet exemple, sale_detail est une table partitionnée. Lorsque vous utilisez l'instruction CREATE TABLE ... AS select_statement ... pour créer la table sale_detail_ctas1, les propriétés de partitionnement ne sont pas copiées. Les colonnes de partition de la table source deviennent des colonnes ordinaires dans la table de destination. Par conséquent, sale_detail_ctas1 est une table non partitionnée comportant cinq colonnes.

Utiliser des constantes pour les valeurs de colonne

Remarque

Si vous utilisez des constantes comme valeurs de colonne dans la clause SELECT, spécifiez les noms des colonnes. Sinon, les quatrième et cinquième colonnes de la table créée sale_detail_ctas3 recevront des noms par défaut tels que _c4 et _c5.

  • Spécifiez les noms des colonnes.

    SET odps.sql.allow.fullscan=true;
    CREATE TABLE sale_detail_ctas2
    AS
    SELECT shop_name, customer_id, total_price, '2013' AS sale_date, 'China' AS region
    FROM sale_detail;
  • Ne spécifiez pas les noms des colonnes.

    SET odps.sql.allow.fullscan=true;
    
    CREATE TABLE sale_detail_ctas3
    AS
    SELECT shop_name, customer_id, total_price, '2013', 'China' 
    FROM sale_detail;

Copier un schéma et définir un cycle de vie

CREATE TABLE sale_detail_like LIKE sale_detail LIFECYCLE 10;

Exécutez la commande DESC EXTENDED sale_detail_like; pour afficher des détails tels que le schéma et le cycle de vie de la table.

Remarque

Le schéma de sale_detail_like est identique à celui de sale_detail. Toutes les propriétés, telles que les noms de colonne, les commentaires de colonne et les commentaires de table, sont copiées, à l'exception de la propriété de cycle de vie. Toutefois, les données de sale_detail ne sont pas copiées dans la table sale_detail_like.

Copier un schéma depuis une table externe

-- Create a new table named mc_oss_extable_orc_like that has the same schema as the external table mc_oss_extable_orc.
CREATE TABLE mc_oss_extable_orc_like LIKE mc_oss_extable_orc;

Exécutez la commande DESC mc_oss_extable_orc_like; pour afficher des détails tels que le schéma de la table.

+------------------------------------------------------------------------------------+
| Owner: ALIYUN$****@***.aliyunid.com | Project: max_compute_7u************yoq              |
| TableComment:                                                                      |
+------------------------------------------------------------------------------------+
| CreateTime:               2022-08-11 11:10:47                                      |
| LastDDLTime:              2022-08-11 11:10:47                                      |
| LastModifiedTime:         2022-08-11 11:10:47                                      |
+------------------------------------------------------------------------------------+
| InternalTable: YES      | Size: 0                                                  |
+------------------------------------------------------------------------------------+
| Native Columns:                                                                    |
+------------------------------------------------------------------------------------+
| Field           | Type       | Label | Comment                                     |
+------------------------------------------------------------------------------------+
| id              | string     |       |                                             |
| name            | string     |       |                                             |
+------------------------------------------------------------------------------------+

Nouveaux types de données

SET odps.sql.type.system.odps2=true;
CREATE TABLE test_newtype (
    c1 TINYINT,
    c2 SMALLINT,
    c3 INT,
    c4 BIGINT,
    c5 FLOAT,
    c6 DOUBLE,
    c7 DECIMAL,
    c8 BINARY,
    c9 TIMESTAMP,
    c10 ARRAY<MAP<BIGINT,BIGINT>>,
    c11 MAP<STRING,ARRAY<BIGINT>>,
    c12 STRUCT<s1:STRING,s2:BIGINT>,
    c13 VARCHAR(20))
LIFECYCLE 1;

Modifier le propriétaire d'une table

Limitations

Seuls les utilisateurs disposant du rôle Project Owner ou Super_Administrator peuvent exécuter cette commande.

Syntaxe

ALTER TABLE <table_name> CHANGEOWNER TO <new_owner>;

Paramètres

  • table_name : Obligatoire. Nom de la table dont le propriétaire doit être modifié.

  • new_owner : Obligatoire. Compte du nouveau propriétaire.

    Si le nouveau propriétaire est un utilisateur RAM :

    • L'utilisateur RAM doit être membre du projet contenant la table.

    • Format : RAM$<UID>:<ram_name>, où UID est l'ID de compte de votre compte Alibaba Cloud et ram_name est le nom d'affichage de l'utilisateur RAM.

Exemples

  • Modifiez le propriétaire de la table test1 pour ALIYUN$xxx@aliyun.com.

    ALTER TABLE test1 CHANGEOWNER TO 'ALIYUN$xxx@aliyun.com';
  • Modifiez le propriétaire de la table test1 pour l'utilisateur RAM nommé ram_test.

    ALTER TABLE test1 CHANGEOWNER TO 'RAM$13xxxxxxxxxxx:ram_test';

DROP TABLE

Supprime une table non partitionnée ou une table partitionnée.

Précautions

  • Soyez prudent lors de la suppression d'une table. Une table supprimée ne peut être restaurée que si la sauvegarde et la restauration sont activées pour le projet et que la table se trouve dans la période de rétention des données. La restauration nécessite la configuration d'une sauvegarde locale.

  • La suppression d'une table réduit l'utilisation du stockage du projet MaxCompute.

Syntaxe

DROP TABLE [IF EXISTS] <table_name>; 

Paramètres

Paramètre

Obligatoire

Description

IF EXISTS

Non

Sans IF EXISTS, la tentative de suppression d'une table inexistante renvoie une exception. Avec IF EXISTS, l'instruction aboutit même si la table n'existe pas.

table_name

Oui

Nom de la table à supprimer.

Exemples

-- Drop the sale_detail table. The statement succeeds regardless of whether the table exists.
DROP TABLE IF EXISTS sale_detail; 

Tables ou vues

Affiche les informations sur les tables gérées, les vues, les vues matérialisées, les tables externes, les tables clusterisées ou les tables transactionnelles dans MaxCompute.

Syntaxe

-- View information about an internal table or a view.
DESC <table_name|view_name> [PARTITION (<pt_spec>)]; 
-- View information about a materialized view, foreign table, clustered table, or transactional table. You can also use this command to view extended information about an internal table.
DESC extended <table_name|mv_name>; 

Paramètres

Nom du paramètre

Description

table_name

Obligatoire. Nom de la table que vous souhaitez consulter.

view_name

Obligatoire. Nom de la vue que vous souhaitez consulter.

mv_name

Nom de la vue matérialisée que vous souhaitez interroger.

pt_spec

Facultatif. Partition que vous souhaitez consulter dans une table partitionnée.

Le format est (partition_col1 = partition_col_value1, partition_col2 = partition_col_value2, ...).

extended

Incluez ce paramètre pour afficher les informations étendues d'une vue matérialisée, d'une table externe, d'une table en cluster ou d'une table transactionnelle. Vous pouvez également utiliser ce paramètre pour consulter les informations étendues d'une table interne, telles que la propriété de non-nullité d'une colonne.

Valeurs de retour

Nom du paramètre

Description

Owner

Compte du propriétaire de la table ou de la vue.

Project

Projet auquel appartient la table ou la vue.

TableComment

Commentaire associé à la table ou à la vue.

CreateTime

Date et heure de création de la table ou de la vue.

LastDDLTime

Date et heure de la dernière modification du langage de définition de données (DDL) de la table ou de la vue.

LastModifiedTime

Date et heure de la dernière modification des données dans la table ou la vue.

LastAccessTime

Date et heure du dernier accès aux données de la table ou de la vue. Cette valeur est fournie à titre indicatif uniquement. Un écart pouvant aller jusqu'à 24 heures peut exister entre cette valeur et l'heure réelle du dernier accès.

Si les données sont fréquemment consultées, la valeur LastAccessTime n'est pas mise à jour si elle a déjà été actualisée au cours des dernières 24 heures. Cela permet de réduire la surcharge de performance liée aux mises à jour fréquentes.

Lifecycle

Cycle de vie exprimé en jours.

InternalTable

Indique si l'objet est une table interne. Ce paramètre est renvoyé uniquement pour les objets de type table.

VirtualView

Indique si l'objet est une vue. Ce paramètre est renvoyé uniquement pour les objets de type vue.

Size

Taille de la table en octets.

NativeColumns

Informations relatives aux colonnes de la table ou de la vue.

PartitionColumns

Informations relatives aux colonnes de clé de partition. Ce paramètre est renvoyé uniquement pour les tables partitionnées.

Exemples

Remarque
  • La taille renvoyée par DESC table_name inclut les données présentes dans la corbeille.

  • Pour exclure les données de la corbeille du calcul de la taille, exécutez d'abord PURGE TABLE table_name. Ensuite, exécutez DESC table_name.

  • Exécutez SHOW recyclebin pour afficher les détails des données présentes dans la corbeille du projet actuel.

Exemple 1 : Consulter une table non partitionnée

  • Créez une table de test.

    CREATE TABLE test_table (
        key STRING
    );
  • Consultez les informations relatives à la table test_table.

    DESC test_table;
  • Résultat renvoyé.

    +------------------------------------------------------------------------------------+
    | Owner:                    ALIYUN$***_com                                           |
    | Project:                  testproject                                              |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 15:04:49                                      |
    | LastDDLTime:              2025-12-15 15:04:50                                      |
    | LastModifiedTime:         2025-12-15 15:04:49                                      |
    +------------------------------------------------------------------------------------+
    | InternalTable: YES      | Size: 0                                                  |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field           | Type       | Label | Comment                                     |
    +------------------------------------------------------------------------------------+
    | key             | string     |       |                                             |
    +------------------------------------------------------------------------------------+

Exemple 2 : Consulter une table partitionnée

  • Créez une table de test.

    CREATE TABLE test_table_partition (
        shop_name       STRING,
        customer_id     STRING,
        total_price     DOUBLE
    )
    PARTITIONED BY (
        sale_date       STRING,
        region          STRING
    );
  • Consultez les informations relatives à la table créée.

    DESC test_table_partition;
  • Résultat renvoyé.

    +------------------------------------------------------------------------------------+
    | Owner:                    ALIYUN$***_com                                           |
    | Project:                  testproject                                              |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 15:08:27                                      |
    | LastDDLTime:              2025-12-15 15:08:27                                      |
    | LastModifiedTime:         2025-12-15 15:08:27                                      |
    +------------------------------------------------------------------------------------+
    | InternalTable: YES      | Size: 0                                                  |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field           | Type       | Label | Comment                                     |
    +------------------------------------------------------------------------------------+
    | shop_name       | string     |       |                                             |
    | customer_id     | string     |       |                                             |
    | total_price     | double     |       |                                             |
    +------------------------------------------------------------------------------------+
    | Partition Columns:                                                                 |
    +------------------------------------------------------------------------------------+
    | sale_date       | string     |                                                     |
    | region          | string     |                                                     |
    +------------------------------------------------------------------------------------+
    

Exemple 3 : Consulter les informations détaillées d'une table partitionnée

  • Créez une table de test.

    CREATE TABLE IF NOT EXISTS test_table_partition (
        shop_name       STRING,
        customer_id     STRING,
        total_price     DOUBLE
    )
    PARTITIONED BY (
        sale_date       STRING,
        region          STRING
    );
  • Consultez les informations relatives à la table créée.

    DESC EXTENDED test_table_partition;
  • Résultat renvoyé.

    +------------------------------------------------------------------------------------+
    | Owner:                    ALIYUN$***_com                                           |
    | Project:                  testproject                                              |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 15:08:27                                      |
    | LastDDLTime:              2025-12-15 15:08:27                                      |
    | LastModifiedTime:         2025-12-15 15:08:27                                      |
    +------------------------------------------------------------------------------------+
    | InternalTable: YES      | Size: 0                                                  |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
    +------------------------------------------------------------------------------------+
    | shop_name | string |      |               | true     | NULL         |              |
    | customer_id | string |    |               | true     | NULL         |              |
    | total_price | double |    |               | true     | NULL         |              |
    +------------------------------------------------------------------------------------+
    | Partition Columns:                                                                 |
    +------------------------------------------------------------------------------------+
    | sale_date       | string     |                                                     |
    | region          | string     |                                                     |
    +------------------------------------------------------------------------------------+
    | Extended Info:                                                                     |
    +------------------------------------------------------------------------------------+
    | TableID:                  8c4d6ed34c964326b45d0435a3babe45                         |
    | IsArchived:               false                                                    |
    | PhysicalSize:             0                                                        |
    | FileNum:                  0                                                        |
    | StoredAs:                 AliOrc                                                   |
    | CompressionStrategy:      normal                                                   |
    | odps.timemachine.retention.days: 1                                                        |
    | encryption_enable:        false                                                    |
    +------------------------------------------------------------------------------------+
    

Exemple 4 : Consulter une table avec un cycle de vie

  • Créez une table de test.

    CREATE TABLE sale_detail_ctas(
        shop_name       STRING,
        customer_id     STRING,
        total_price     DOUBLE,
        sale_date       STRING,
        region          STRING
    )
    LIFECYCLE 10;
  • Consultez les informations détaillées de la table créée.

    DESC EXTENDED sale_detail_ctas;
  • Résultat renvoyé.

    +------------------------------------------------------------------------------------+
    | Owner:                    ALIYUN$***_com                                           |
    | Project:                  testproject                                              |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 15:13:22                                      |
    | LastDDLTime:              2025-12-15 15:13:22                                      |
    | LastModifiedTime:         2025-12-15 15:13:22                                      |
    | Lifecycle:                10                                                       |
    +------------------------------------------------------------------------------------+
    | InternalTable: YES      | Size: 0                                                  |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
    +------------------------------------------------------------------------------------+
    | shop_name | string |      |               | true     | NULL         |              |
    | customer_id | string |    |               | true     | NULL         |              |
    | total_price | double |    |               | true     | NULL         |              |
    | sale_date | string |      |               | true     | NULL         |              |
    | region   | string |       |               | true     | NULL         |              |
    +------------------------------------------------------------------------------------+
    | Extended Info:                                                                     |
    +------------------------------------------------------------------------------------+
    | TableID:                  8271334ac9724d09a4973b5b3d536f4c                         |
    | IsArchived:               false                                                    |
    | PhysicalSize:             0                                                        |
    | FileNum:                  0                                                        |
    | StoredAs:                 AliOrc                                                   |
    | CompressionStrategy:      normal                                                   |
    | odps.timemachine.retention.days: 1                                                        |
    | ColdStorageStatus:        N/A                                                      |
    | encryption_enable:        false                                                    |
    | StorageTier:              Standard                                                 |
    | StorageTierLastModifiedTime:  2025-12-15 15:13:22                                  |
    +------------------------------------------------------------------------------------+

Exemple 5 : Consulter une table avec divers types de données

  • Créez une table de test.

    CREATE TABLE  test_newtype(
        c1              TINYINT,
        c2              SMALLINT,
        c3              INT,
        c4              BIGINT,
        c5              FLOAT,
        c6              DOUBLE,
        c7              DECIMAL,
        c8              BINARY,
        c9              TIMESTAMP,
        c10             ARRAY<MAP<BIGINT, BIGINT>>,
        c11             MAP<STRING, ARRAY<BIGINT>>,
        c12             STRUCT<s1:STRING, s2:BIGINT>,
        c13             VARCHAR(20)
    );
  • Consultez les informations détaillées de la table créée.

    DESC test_newtype;
  • Résultat renvoyé.

    +------------------------------------------------------------------------------------+
    | Owner:                    ALIYUN$***_com                                           |
    | Project:                  testproject                                              |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 16:09:18                                      |
    | LastDDLTime:              2025-12-15 16:09:18                                      |
    | LastModifiedTime:         2025-12-15 16:09:18                                      |
    +------------------------------------------------------------------------------------+
    | InternalTable: YES      | Size: 0                                                  |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field           | Type       | Label | Comment                                     |
    +------------------------------------------------------------------------------------+
    | c1              | tinyint    |       |                                             |
    | c2              | smallint   |       |                                             |
    | c3              | int        |       |                                             |
    | c4              | bigint     |       |                                             |
    | c5              | float      |       |                                             |
    | c6              | double     |       |                                             |
    | c7              | decimal(38,18) |   |                                             |
    | c8              | binary     |       |                                             |
    | c9              | timestamp  |       |                                             |
    | c10             | array<map<bigint,bigint>> |       |                              |
    | c11             | map<string,array<bigint>> |       |                              |
    | c12             | struct<s1:string,s2:bigint> |       |                            |
    | c13             | varchar(20) |       |                                            |
    +------------------------------------------------------------------------------------+

Exemple 6 : Consulter une table en cluster hachée non partitionnée

  • Créez une table de test.

    CREATE TABLE hash_clustered_nonpar (
        a               STRING,
        b               STRING,
        c               BIGINT
    )
    CLUSTERED BY (c)
    SORTED BY (c ASC)
    INTO 1024 BUCKETS;
    
  • Consultez les informations détaillées de la table créée.

    DESC EXTENDED hash_clustered_nonpar;
  • Résultat renvoyé.

    Les propriétés du cluster apparaissent dans la section Extended Info.

    +------------------------------------------------------------------------------------+
    | Owner:                    ALIYUN$***_com                                           |
    | Project:                  testproject                                              |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 16:18:07                                      |
    | LastDDLTime:              2025-12-15 16:18:07                                      |
    | LastModifiedTime:         2025-12-15 16:18:07                                      |
    +------------------------------------------------------------------------------------+
    | InternalTable: YES      | Size: 0                                                  |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
    +------------------------------------------------------------------------------------+
    | a        | string |       |               | true     | NULL         |              |
    | b        | string |       |               | true     | NULL         |              |
    | c        | bigint |       |               | true     | NULL         |              |
    +------------------------------------------------------------------------------------+
    | Extended Info:                                                                     |
    +------------------------------------------------------------------------------------+
    | TableID:                  904e6a0d76624346903d59a2b536d0a3                         |
    | IsArchived:               false                                                    |
    | PhysicalSize:             0                                                        |
    | FileNum:                  0                                                        |
    | StoredAs:                 AliOrc                                                   |
    | CompressionStrategy:      normal                                                   |
    | odps.timemachine.retention.days: 1                                                 |
    | ColdStorageStatus:        N/A                                                      |
    | encryption_enable:        false                                                    |
    | ClusterType:              hash                                                     |
    | BucketNum:                1024                                                     |
    | ClusterColumns:           [c]                                                      |
    | SortColumns:              [c ASC]                                                  |
    | StorageTier:              Standard                                                 |
    | StorageTierLastModifiedTime:  2025-12-15 16:18:07                                  |
    +------------------------------------------------------------------------------------+

Exemple 7 : Consulter une table partitionnée avec clustering par hachage

  • Créez une table de test.

    CREATE TABLE hash_clustered_par (
        a               STRING,
        b               STRING,
        c               BIGINT
    )
    PARTITIONED BY (
        dt              STRING
    )
    CLUSTERED BY (c)
    SORTED BY (c ASC)
    INTO 1024 BUCKETS
    LIFECYCLE 2;
    
  • Consultez les informations détaillées sur la table créée.

    DESC EXTENDED hash_clustered_par;
  • Résultat renvoyé.

    Les propriétés de clustering apparaissent dans la section Extended Info.

    +------------------------------------------------------------------------------------+
    | Owner:                    ALIYUN$***_com                                           |
    | Project:                  testproject                                              |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 16:26:24                                      |
    | LastDDLTime:              2025-12-15 16:26:24                                      |
    | LastModifiedTime:         2025-12-15 16:26:24                                      |
    | Lifecycle:                2                                                        |
    +------------------------------------------------------------------------------------+
    | InternalTable: YES      | Size: 0                                                  |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
    +------------------------------------------------------------------------------------+
    | a        | string |       |               | true     | NULL         |              |
    | b        | string |       |               | true     | NULL         |              |
    | c        | bigint |       |               | true     | NULL         |              |
    +------------------------------------------------------------------------------------+
    | Partition Columns:                                                                 |
    +------------------------------------------------------------------------------------+
    | dt              | string     |                                                     |
    +------------------------------------------------------------------------------------+
    | Extended Info:                                                                     |
    +------------------------------------------------------------------------------------+
    | TableID:                  5680f0711add43928389db3655d9183e                         |
    | IsArchived:               false                                                    |
    | PhysicalSize:             0                                                        |
    | FileNum:                  0                                                        |
    | StoredAs:                 AliOrc                                                   |
    | CompressionStrategy:      normal                                                   |
    | odps.timemachine.retention.days: 1                                                 |
    | encryption_enable:        false                                                    |
    | ClusterType:              hash                                                     |
    | BucketNum:                1024                                                     |
    | ClusterColumns:           [c]                                                      |
    | SortColumns:              [c ASC]                                                  |
    +------------------------------------------------------------------------------------+

Exemple 8 : Consulter une table non partitionnée avec clustering par plage

  • Créez une table de test.

    CREATE TABLE range_clustered_nonpar (
        a               STRING,
        b               STRING,
        c               BIGINT
    )
    RANGE CLUSTERED BY (c);
  • Consultez les informations détaillées sur la table créée.

    DESC EXTENDED range_clustered_nonpar;
  • Résultat renvoyé.

    Les propriétés de clustering apparaissent dans la section Extended Info.

    +------------------------------------------------------------------------------------+
    | Owner:                    ALIYUN$***_com                                           |
    | Project:                  testproject                                              |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 16:30:45                                      |
    | LastDDLTime:              2025-12-15 16:30:45                                      |
    | LastModifiedTime:         2025-12-15 16:30:45                                      |
    +------------------------------------------------------------------------------------+
    | InternalTable: YES      | Size: 0                                                  |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
    +------------------------------------------------------------------------------------+
    | a        | string |       |               | true     | NULL         |              |
    | b        | string |       |               | true     | NULL         |              |
    | c        | bigint |       |               | true     | NULL         |              |
    +------------------------------------------------------------------------------------+
    | Extended Info:                                                                     |
    +------------------------------------------------------------------------------------+
    | TableID:                  bf01d946c4b24c0e9c54ccfe8750b7c2                         |
    | IsArchived:               false                                                    |
    | PhysicalSize:             0                                                        |
    | FileNum:                  0                                                        |
    | StoredAs:                 AliOrc                                                   |
    | CompressionStrategy:      normal                                                   |
    | odps.timemachine.retention.days: 1                                                 |
    | ColdStorageStatus:        N/A                                                      |
    | encryption_enable:        false                                                    |
    | ClusterType:              range                                                    |
    | BucketNum:                0                                                        |
    | ClusterColumns:           [c]                                                      |
    | StorageTier:              Standard                                                 |
    | StorageTierLastModifiedTime:  2025-12-15 16:30:45                                  |
    +------------------------------------------------------------------------------------+

Exemple 9 : Consulter une table partitionnée avec clustering par plage

  • Créez une table de test.

    CREATE TABLE range_clustered_par (
        a               STRING,
        b               STRING,
        c               BIGINT
    )
    PARTITIONED BY (
        dt              STRING
    )
    RANGE CLUSTERED BY (c);
  • Consultez les informations détaillées sur la table créée.

    DESC EXTENDED range_clustered_par;
  • Résultat renvoyé.

    Les propriétés de clustering apparaissent dans la section Extended Info.

    +------------------------------------------------------------------------------------+
    | Owner:                    ALIYUN$***_com                                           |
    | Project:                  testproject                                              |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 16:33:09                                      |
    | LastDDLTime:              2025-12-15 16:33:09                                      |
    | LastModifiedTime:         2025-12-15 16:33:09                                      |
    +------------------------------------------------------------------------------------+
    | InternalTable: YES      | Size: 0                                                  |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
    +------------------------------------------------------------------------------------+
    | a        | string |       |               | true     | NULL         |              |
    | b        | string |       |               | true     | NULL         |              |
    | c        | bigint |       |               | true     | NULL         |              |
    +------------------------------------------------------------------------------------+
    | Partition Columns:                                                                 |
    +------------------------------------------------------------------------------------+
    | dt              | string     |                                                     |
    +------------------------------------------------------------------------------------+
    | Extended Info:                                                                     |
    +------------------------------------------------------------------------------------+
    | TableID:                  bdc4f6897691479ea9c315664f26fe39                         |
    | IsArchived:               false                                                    |
    | PhysicalSize:             0                                                        |
    | FileNum:                  0                                                        |
    | StoredAs:                 AliOrc                                                   |
    | CompressionStrategy:      normal                                                   |
    | odps.timemachine.retention.days: 1                                                 |
    | encryption_enable:        false                                                    |
    | ClusterType:              range                                                    |
    | BucketNum:                0                                                        |
    | ClusterColumns:           [c]                                                      |
    +------------------------------------------------------------------------------------+

Exemple 10 : Vérifier si une table non partitionnée est transactionnelle

Remarque

Utilisez le client MaxCompute version 0.35.4 ou ultérieure pour vérifier si une table est une table transactionnelle.

D'autres outils peuvent ne pas prendre en charge cette fonctionnalité s'ils n'ont pas été mis à niveau vers la version requise, et le résultat de la requête peut omettre les informations transactionnelles.

  • Créez une table de test.

    CREATE TABLE tran_nonpar (
        id              BIGINT
    )
    TBLPROPERTIES ('transactional'='true');
  • Consultez les informations détaillées sur la table créée.

    DESC EXTENDED tran_nonpar;
  • Résultat renvoyé.

    La propriété Transactional apparaît dans la section Extended Info.

    +------------------------------------------------------------------------------------+
    | Owner:                    ALIYUN$***_com                                           |
    | Project:                  testproject                                              |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 16:37:27                                      |
    | LastDDLTime:              2025-12-15 16:37:27                                      |
    | LastModifiedTime:         2025-12-15 16:37:27                                      |
    +------------------------------------------------------------------------------------+
    | InternalTable: YES      | Size: 0                                                  |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
    +------------------------------------------------------------------------------------+
    | id       | bigint |       |               | true     | NULL         |              |
    +------------------------------------------------------------------------------------+
    | Extended Info:                                                                     |
    +------------------------------------------------------------------------------------+
    | TableID:                  43e9710c2b4c404780a7be9998afb23e                         |
    | IsArchived:               false                                                    |
    | PhysicalSize:             0                                                        |
    | FileNum:                  0                                                        |
    | StoredAs:                 AliOrc                                                   |
    | CompressionStrategy:      normal                                                   |
    | Transactional:            true                                                     |
    | IsolationMin:             NONSTRICT_SNAPSHOT_ISOLATION                             |
    | odps.timemachine.retention.days: 1                                                 |
    | ColdStorageStatus:        N/A                                                      |
    | encryption_enable:        false                                                    |
    | StorageTier:              Standard                                                 |
    | StorageTierLastModifiedTime:  2025-12-15 16:37:27                                  |
    +------------------------------------------------------------------------------------+

Exemple 11 : Vérifier si une table partitionnée est transactionnelle

Remarque

Utilisez le client MaxCompute version 0.35.4 ou ultérieure pour vérifier si une table est une table transactionnelle.

D'autres outils peuvent ne pas prendre en charge cette fonctionnalité s'ils n'ont pas été mis à niveau vers la version requise, et le résultat de la requête peut omettre les informations transactionnelles.

  • Créez une table de test.

    CREATE TABLE tran_par (
        id              BIGINT
    )
    PARTITIONED BY (
        ds              STRING
    )
    TBLPROPERTIES ('transactional'='true');
  • Consultez les informations détaillées sur la table créée.

    DESC EXTENDED tran_par;
  • Résultat renvoyé.

    La propriété Transactional apparaît dans la section Extended Info.

    +------------------------------------------------------------------------------------+
    | Owner:                    ALIYUN$***_com                                           |
    | Project:                  testproject                                              |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 16:42:26                                      |
    | LastDDLTime:              2025-12-15 16:42:26                                      |
    | LastModifiedTime:         2025-12-15 16:42:26                                      |
    +------------------------------------------------------------------------------------+
    | InternalTable: YES      | Size: 0                                                  |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
    +------------------------------------------------------------------------------------+
    | id       | bigint |       |               | true     | NULL         |              |
    +------------------------------------------------------------------------------------+
    | Partition Columns:                                                                 |
    +------------------------------------------------------------------------------------+
    | ds              | string     |                                                     |
    +------------------------------------------------------------------------------------+
    | Extended Info:                                                                     |
    +------------------------------------------------------------------------------------+
    | TableID:                  d4dd59b15f7940bcad4cb5efdb42f242                         |
    | IsArchived:               false                                                    |
    | PhysicalSize:             0                                                        |
    | FileNum:                  0                                                        |
    | StoredAs:                 AliOrc                                                   |
    | CompressionStrategy:      normal                                                   |
    | Transactional:            true                                                     |
    | IsolationMin:             NONSTRICT_SNAPSHOT_ISOLATION                             |
    | odps.timemachine.retention.days: 1                                                 |
    | encryption_enable:        false                                                    |
    +------------------------------------------------------------------------------------+

Exemple 12 : Consulter la vue matérialisée mv

  • Créez une table de test.

    -- Create a test base table.
    CREATE TABLE page_view_logs (
        page_id STRING,
        user_id STRING,
        view_timestamp BIGINT
    );
    
    -- Create a materialized view to calculate the page views (PV) of each page.
    CREATE MATERIALIZED VIEW mv AS
    SELECT
        page_id,
        COUNT(1) AS pv_count
    FROM
        page_view_logs
    GROUP BY
        page_id;
  • Consultez les informations détaillées sur la vue matérialisée.

    DESC EXTENDED mv;
  • Résultat renvoyé.

    +------------------------------------------------------------------------------------+
    | Owner:                    ALIYUN$***_com                                           |
    | Project:                  testproject                                              |
    | TableComment:                                                                      |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 16:47:51                                      |
    | LastDDLTime:              2025-12-15 16:47:51                                      |
    | LastModifiedTime:         2025-12-15 16:47:51                                      |
    +------------------------------------------------------------------------------------+
    | MaterializedView: YES                                                              |
    | ViewText: SELECT
        page_id,
        COUNT(1) AS pv_count
    FROM
        page_view_logs
    GROUP BY
        page_id |
    | Rewrite Enabled: true                                                              |
    | AutoRefresh Enabled: false                                                         |
    +------------------------------------------------------------------------------------+
    | Native Columns:                                                                    |
    +------------------------------------------------------------------------------------+
    | Field    | Type   | Label | ExtendedLabel | Nullable | DefaultValue | Comment      |
    +------------------------------------------------------------------------------------+
    | page_id  | string |       |               | true     | NULL         |              |
    | pv_count | bigint |       |               | true     | NULL         |              |
    +------------------------------------------------------------------------------------+
    | Extended Info:                                                                     |
    +------------------------------------------------------------------------------------+
    | IsOutdated:               false                                                    |
    | TableID:                  a8742f3751904ec3ade23a7ecc2a2b0b                         |
    | IsArchived:               false                                                    |
    | PhysicalSize:             0                                                        |
    | FileNum:                  0                                                        |
    | StoredAs:                 CFile                                                    |
    | CompressionStrategy:      normal                                                   |
    | odps.timemachine.retention.days: 1                                                        |
    | ColdStorageStatus:        N/A                                                      |
    | encryption_enable:        false                                                    |
    | StorageTier:              Standard                                                 |
    | StorageTierLastModifiedTime:  2025-12-15 16:47:51                                  |
    +------------------------------------------------------------------------------------+
    

Exemple 13 : Consulter les informations de partition

  • Créez une table de test.

    -- Create a test table.
    CREATE TABLE IF NOT EXISTS test_table_partition (
        shop_name       STRING,
        customer_id     STRING,
        total_price     DOUBLE
    )
    PARTITIONED BY (
        sale_date       STRING,
        region          STRING
    );
    
    -- Create a partition.
    ALTER TABLE test_table_partition ADD IF NOT EXISTS 
      PARTITION (sale_date='201310', region='beijing');
      
    -- Use INSERT INTO to append data to the specified partition.
    INSERT INTO TABLE test_table_partition PARTITION (sale_date='201310', region='beijing')
    VALUES
        ('Apple Store', 'user001', 8888.0),
        ('Nike Store', 'user002', 1200.5),
        ('Starbucks', 'user001', 45.0);
  • Interrogez les informations de partition pour la table partitionnée.

    DESC test_table_partition PARTITION (sale_date='201310', region='beijing');
  • Résultat renvoyé.

    +------------------------------------------------------------------------------------+
    | PartitionSize: 1163                                                                |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2025-12-15 16:54:16                                      |
    | LastDDLTime:              2025-12-15 16:54:16                                      |
    | LastModifiedTime:         2025-12-15 16:54:23                                      |
    +------------------------------------------------------------------------------------+

Afficher les informations de partition

Affiche les informations de partition d'une table partitionnée.

  • Syntaxe

    desc <table_name> partition (<pt_spec>);
  • Paramètres

    • table_name : obligatoire. Nom de la table partitionnée dont vous souhaitez afficher les informations de partition.

    • pt_spec : obligatoire. Informations sur la partition à afficher. La valeur de ce paramètre doit respecter le format partition_col1=col1_value1, partition_col2=col2_value1.... Si une table comporte plusieurs niveaux de partitions, vous devez spécifier les valeurs de toutes les colonnes de clé de partition.

  • Exemples

    -- Query information about the partitioned table sale_detail. 
    desc sale_detail partition (sale_date='201310',region='beijing');

    Le résultat suivant est renvoyé :

    +------------------------------------------------------------------------------------+
    | PartitionSize: 2109112                                                             |
    +------------------------------------------------------------------------------------+
    | CreateTime:               2015-10-10 08:48:48                                      |
    | LastDDLTime:              2015-10-10 08:48:48                                      |
    | LastModifiedTime:         2015-10-11 01:33:35                                      |
    +------------------------------------------------------------------------------------+
    OK

Afficher les tables et les vues d'un projet

Affiche toutes les tables et vues d'un projet, ou uniquement celles qui correspondent à des règles spécifiques.

  • Syntaxe

    -- Display all tables and views in a project. 
    show tables;
    -- Display the tables or views whose names contain the chart keyword in a project. 
    show tables like '<chart>';
  • Exemples

    -- Display the tables whose names contain the sale* keyword in a project. The asterisk (*) indicates any character. 
    show tables like 'sale*';              

    Le résultat suivant est renvoyé :

    ALIYUN$account_name:sale_detail
    ......
    -- ALIYUN is a system prompt, which indicates that the table is created by using an Alibaba Cloud account. If the table was created by a RAM user, the system prompt is RAM.

Afficher les partitions

Affiche toutes les partitions d'une table. Si la table n'existe pas ou s'il s'agit d'une table non partitionnée, une erreur est renvoyée.

  • Syntaxe

    show partitions <table_name>; 
  • Paramètres

    table_name : obligatoire. Nom de la table partitionnée dont vous souhaitez afficher les informations de partition.

  • Exemples

    -- Display all the partitions of the sale_detail table. 
    show partitions sale_detail;

    Le résultat suivant est renvoyé :

    sale_date=201310/region=beijing
    sale_date=201312/region=shenzhen
    sale_date=201312/region=xian
    sale_date=2014/region=shenzhen
    
    OK

Documentation connexe