Todos os produtos
Search
Central de documentação

ApsaraDB for ClickHouse:Criar uma tabela

Última atualização: Sep 17, 2026

Crie tabelas locais e distribuídas no ApsaraDB for ClickHouse pelo Data Management Service (DMS).

Pré-requisitos

Conclua as etapas a seguir no guia de Início Rápido.

Procedimento

  1. Na página SQL Console do DMS console, insira uma instrução CREATE TABLE para criar uma tabela local.

    Nota

    Tabelas locais armazenam os dados reais. Cada nó do ClickHouse possui suas próprias tabelas locais para gerenciar e consultar dados nesse nó específico. Use tabelas locais para particionar dados entre os nós do cluster.

    Sintaxe:

    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, ...];

    Parâmetros:

    Parâmetro

    Descrição

    db

    Nome do banco de dados. O sistema usa o banco de dados atual por padrão.

    local_table_name

    Nome da tabela local.

    cluster

    Nome do cluster. O valor é fixo como default.

    name1,name2

    Nomes das colunas.

    type1,type2

    Tipos de dados das colunas.

    engine_name

    Tipo de mecanismo da tabela. Para mais informações, consulte Table engines.

    Defina este parâmetro como MergeTree para clusters da edição de réplica única ou ReplicatedMergeTree para clusters mestre-réplica.

    Importante

    Ao criar tabelas em um cluster da Edição de Réplica Dupla, use obrigatoriamente mecanismos de tabela replicados da família MergeTree. O uso de mecanismos não replicados impede a replicação de dados entre réplicas, o que pode causar inconsistência nos dados.

    PARTITION BY

    Chave de partição.

    ORDER BY

    Chave de ordenação.

    PRIMARY KEY

    Chave primária.

    SAMPLE BY

    Expressão de amostragem. Caso utilize essa expressão, a chave primária deve incluí-la.

    SETTINGS

    Outros parâmetros que afetam o desempenho, como index_granularity.

    Nota

    Para obter mais detalhes sobre os parâmetros, consulte Create Table.

    Exemplo:

    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. Crie uma tabela distribuída para facilitar a gravação e consulta de dados.

    Nota
    • ApsaraDB for ClickHouse Enterprise Edition não exige a criação de tabelas distribuídas. Para detalhes sobre os mecanismos de tabela compatíveis com a Enterprise Edition, consulte ApsaraDB for ClickHouse Enterprise Edition Compatibility Guide.

    • Tabelas distribuídas não armazenam dados diretamente. Elas funcionam como uma camada de consulta que encaminha solicitações às tabelas locais em vários nós e agrega os resultados. Use tabelas distribuídas para consultas de dados entre nós em um cluster ClickHouse.

    Sintaxe:

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

    Parâmetros:

    Parâmetro

    Descrição

    db

    Nome do banco de dados. O sistema usa o banco de dados atual por padrão.

    d_table_name

    Nome da tabela distribuída.

    cluster

    Nome do cluster. O valor é fixo como default.

    local_table_name

    Nome da tabela local criada.

    sharding_key

    Expressão de sharding.

    Nota

    Para obter mais detalhes sobre os parâmetros, consulte Create Table.

    Exemplo:

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

Próxima etapa

Import data