Data Management Service (DMS) kullanarak ApsaraDB for ClickHouse'ta yerel ve dağıtılmış tablolar oluşturabilirsiniz.
Ön koşullar
Hızlı Başlangıç kılavuzundaki aşağıdaki adımları tamamlamış olmanız gerekir.
Yordam
-
DMS konsolu üzerindeki SQL Console sayfasında, yerel bir tablo oluşturmak için bir
CREATE TABLEifadesi girin.NotYerel tablolar gerçek verileri depolar. Her ClickHouse düğümü, o düğümdeki verileri yönetmek ve sorgulamak için kendi yerel tablolarına sahiptir. Küme düğümleri arasında veri bölümlemesi yapmak için yerel tabloları kullanın.
Sözdizimi:
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, ...];Parametreler:
Parametre
Açıklama
dbVeritabanının adı. Varsayılan olarak geçerli veritabanı kullanılır.
local_table_nameYerel tablonun adı.
clusterKümenin adı. Değer default olarak sabittir.
name1,name2Sütun adları.
type1,type2Sütun türleri.
engine_nameTablo altyapısı türü. Daha fazla bilgi için bkz. Table engines.
Tek çoğaltmalı sürüm kümeleri için bu parametreyi MergeTree, ana-çoğaltma kümeleri için ReplicatedMergeTree olarak ayarlayın.
ÖnemliÇift çoğaltmalı Sürüm kümesinde tablo oluştururken MergeTree ailesinden Replicated tablo altyapılarını kullanmanız gerekir. Çoğaltılmayan tablo altyapıları kullanılırsa, veriler çoğaltmalar arasında çoğaltılamaz ve bu durum veri tutarsızlığına neden olabilir.
PARTITION BYBölümleme anahtarı.
ORDER BYSıralama anahtarı.
PRIMARY KEYBirincil anahtar.
SAMPLE BYÖrnekleme ifadesi. Bir örnekleme ifadesi kullanıyorsanız, birincil anahtar bu ifadeyi içermelidir.
SETTINGSindex_granularitygibi performansı etkileyen diğer parametreler.NotParametrelerle ilgili daha fazla bilgi için bkz. Create Table.
Örnek:
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 ; -
Veri yazma ve sorgulama işlemlerini kolaylaştırmak için dağıtılmış bir tablo oluşturun.
NotApsaraDB for ClickHouse Enterprise Edition için dağıtılmış tablolar oluşturmanıza gerek yoktur. Enterprise Edition tarafından desteklenen tablo altyapıları hakkında ayrıntılı bilgi için bkz. ApsaraDB for ClickHouse Enterprise Edition Compatibility Guide.
Dağıtılmış tablolar verileri doğrudan depolamaz. Sorguları küme düğümlerindeki yerel tablolara yönlendiren ve sonuçları birleştiren bir sorgu katmanı olarak görev görürler. ClickHouse kümesinde düğümler arası veri sorgulamak için dağıtılmış tabloları kullanın.
Sözdizimi:
CREATE TABLE [db.]d_table_name ON CLUSTER cluster AS db.local_table_name ENGINE = Distributed(cluster, db, local_table_name [, sharding_key])Parametreler:
Parametre
Açıklamadb
Veritabanının adı. Varsayılan olarak geçerli veritabanı kullanılır.d_table_name
Dağıtılmış tablonun adı.cluster
Kümenin adı. Değer default olarak sabittir.local_table_name
Oluşturulan yerel tablonun adı.sharding_key
Parçalama ifadesi.NotParametrelerle ilgili daha fazla bilgi için bkz. Create Table.
Örnek:
CREATE TABLE ontime_local_distributed ON CLUSTER default AS clickhouse_demo.ontime_local ENGINE = Distributed(default, clickhouse_demo, ontime_local, rand());