Tous les produits
Search
Centre de documentation

ApsaraDB for ClickHouse:Créer une table

Dernière mise à jour :Aug 11, 2026

Cette rubrique explique comment utiliser Data Management (DMS) pour créer une table dans ApsaraDB for ClickHouse.

Prérequis

Avez-vous effectué les étapes suivantes du Guide de démarrage rapide ?

Procédure

  1. Sur la page SQL Console de la console DMS, exécutez l'instruction CREATE TABLE pour créer une table locale.

    Remarque

    Les tables locales stockent réellement les données. Chaque nœud ApsaraDB for ClickHouse possède ses propres tables locales. Elles servent à gérer et interroger les données stockées sur ce nœud. Les tables locales conviennent en tant que shards de données pour chaque nœud du cluster.

    Syntaxe :

    CREATE TABLE [IF NOT EXISTS] [db.]local_table_name ON CLUSTER cluster
    (
        name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
        name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
        ...
        INDEX index_name1 expr1 TYPE type1(...) GRANULARITY value1,
        INDEX index_name2 expr2 TYPE type2(...) GRANULARITY value2
    ) ENGINE = engine_name()
    [PARTITION BY expr]
    [ORDER BY expr]
    [PRIMARY KEY expr]
    [SAMPLE BY expr]
    [SETTINGS name=value, ...];

    Description des paramètres :

    Paramètre

    Description

    db

    Nom de la base de données. La valeur par défaut correspond au nom de la base de données sélectionnée.

    local_table_name

    Nom de la table locale.

    cluster

    Nom du cluster. La valeur est default.

    name1,name2

    Nom de la colonne.

    type1,type2

    Type de la colonne.

    engine_name

    Type du moteur de table. Pour plus d'informations, consultez Moteurs de table.

    Le moteur de table MergeTree est utilisé pour l'édition Single-replica. Le moteur de table ReplicatedMergeTree est utilisé pour l'édition Double-replica.

    Important

    PARTITION BY

    Clé de partitionnement.

    ORDER BY

    Clé de tri.

    PRIMARY KEY

    Clé primaire.

    SAMPLE BY

    Expression d'échantillonnage. Si vous souhaitez utiliser l'expression d'échantillonnage, incluez-la dans la clé primaire.

    SETTINGS

    Autres paramètres susceptibles d'affecter les performances de création de la table.

    Remarque

    Pour plus d'informations, consultez CREATE TABLE.

    Exemple :

    CREATE TABLE clickhouse_demo.ontime_local ON CLUSTER default
    (
        `Year`                            UInt16,
        `Quarter`                         UInt8,
        `Month`                           UInt8,
        `DayofMonth`                      UInt8,
        `DayOfWeek`                       UInt8,
        `FlightDate`                      Date,
        `Reporting_Airline`               String,
        `DOT_ID_Reporting_Airline`        Int32,
        `IATA_CODE_Reporting_Airline`     String,
        `Tail_Number`                     String,
        `Flight_Number_Reporting_Airline` String,
        `OriginAirportID`                 Int32,
        `OriginAirportSeqID`              Int32,
        `OriginCityMarketID`              Int32,
        `Origin`                          FixedString(5),
        `OriginCityName`                  String,
        `OriginState`                     FixedString(2),
        `OriginStateFips`                 String,
        `OriginStateName`                 String,
        `OriginWac`                       Int32,
        `DestAirportID`                   Int32,
        `DestAirportSeqID`                Int32,
        `DestCityMarketID`                Int32,
        `Dest`                            FixedString(5),
        `DestCityName`                    String,
        `DestState`                       FixedString(2),
        `DestStateFips`                   String,
        `DestStateName`                   String,
        `DestWac`                         Int32,
        `CRSDepTime`                      Int32,
        `DepTime`                         Int32,
        `DepDelay`                        Int32,
        `DepDelayMinutes`                 Int32,
        `DepDel15`                        Int32,
        `DepartureDelayGroups`            String,
        `DepTimeBlk`                      String,
        `TaxiOut`                         Int32,
        `WheelsOff`                       Int32,
        `WheelsOn`                        Int32,
        `TaxiIn`                          Int32,
        `CRSArrTime`                      Int32,
        `ArrTime`                         Int32,
        `ArrDelay`                        Int32,
        `ArrDelayMinutes`                 Int32,
        `ArrDel15`                        Int32,
        `ArrivalDelayGroups`              Int32,
        `ArrTimeBlk`                      String,
        `Cancelled`                       UInt8,
        `CancellationCode`                FixedString(1),
        `Diverted`                        UInt8,
        `CRSElapsedTime`                  Int32,
        `ActualElapsedTime`               Int32,
        `AirTime`                         Nullable(Int32),
        `Flights`                         Int32,
        `Distance`                        Int32,
        `DistanceGroup`                   UInt8,
        `CarrierDelay`                    Int32,
        `WeatherDelay`                    Int32,
        `NASDelay`                        Int32,
        `SecurityDelay`                   Int32,
        `LateAircraftDelay`               Int32,
        `FirstDepTime`                    String,
        `TotalAddGTime`                   String,
        `LongestAddGTime`                 String,
        `DivAirportLandings`              String,
        `DivReachedDest`                  String,
        `DivActualElapsedTime`            String,
        `DivArrDelay`                     String,
        `DivDistance`                     String,
        `Div1Airport`                     String,
        `Div1AirportID`                   Int32,
        `Div1AirportSeqID`                Int32,
        `Div1WheelsOn`                    String,
        `Div1TotalGTime`                  String,
        `Div1LongestGTime`                String,
        `Div1WheelsOff`                   String,
        `Div1TailNum`                     String,
        `Div2Airport`                     String,
        `Div2AirportID`                   Int32,
        `Div2AirportSeqID`                Int32,
        `Div2WheelsOn`                    String,
        `Div2TotalGTime`                  String,
        `Div2LongestGTime`                String,
        `Div2WheelsOff`                   String,
        `Div2TailNum`                     String,
        `Div3Airport`                     String,
        `Div3AirportID`                   Int32,
        `Div3AirportSeqID`                Int32,
        `Div3WheelsOn`                    String,
        `Div3TotalGTime`                  String,
        `Div3LongestGTime`                String,
        `Div3WheelsOff`                   String,
        `Div3TailNum`                     String,
        `Div4Airport`                     String,
        `Div4AirportID`                   Int32,
        `Div4AirportSeqID`                Int32,
        `Div4WheelsOn`                    String,
        `Div4TotalGTime`                  String,
        `Div4LongestGTime`                String,
        `Div4WheelsOff`                   String,
        `Div4TailNum`                     String,
        `Div5Airport`                     String,
        `Div5AirportID`                   Int32,
        `Div5AirportSeqID`                Int32,
        `Div5WheelsOn`                    String,
        `Div5TotalGTime`                  String,
        `Div5LongestGTime`                String,
        `Div5WheelsOff`                   String,
        `Div5TailNum`                     String
    )ENGINE = ReplicatedMergeTree()
     PARTITION BY toYYYYMM(FlightDate)
     PRIMARY KEY (intHash32(FlightDate))
     ORDER BY (intHash32(FlightDate))
     SAMPLE BY intHash32(FlightDate)
    SETTINGS index_granularity= 8192 ;
  2. Créez une table distribuée pour écrire des données et exécuter des requêtes.

    Remarque
    • Les tables distribuées sont des tables virtuelles qui ne stockent aucune donnée directement. Elles servent de couche de requête pour distribuer les interrogations vers les tables locales situées sur un ou plusieurs nœuds, puis agrègent les résultats renvoyés. Les tables distribuées conviennent aux requêtes et au traitement distribués dans un cluster ApsaraDB for ClickHouse.

    Syntaxe :

    CREATE TABLE  [db.]d_table_name ON CLUSTER cluster
     AS db.local_table_name ENGINE = Distributed(cluster, db, local_table_name [, sharding_key])

    Description des paramètres :

    Paramètre

    Description

    db

    Nom de la base de données. La valeur par défaut correspond au nom de la base de données sélectionnée.

    d_table_name

    Nom de la table distribuée.

    cluster

    Nom du cluster. La valeur est default.

    local_table_name

    Nom de la table locale créée.

    sharding_key

    Expression de sharding.

    Remarque

    Pour plus d'informations, consultez CREATE TABLE.

    Exemple :

    CREATE TABLE ontime_local_distributed ON CLUSTER default
     AS clickhouse_demo.ontime_local  
    ENGINE = Distributed(default, clickhouse_demo, ontime_local, rand());

Étapes suivantes

Importer des données