AggregateFunction(name, types_of_arguments…) 

Aggregate functions can have an implementation-defined intermediate state that can be serialized to an AggregateFunction(…) data type and stored in a table, usually, by means of materyalize bir görünüm. Bir toplama işlevi durumu üretmek için ortak yolu ile toplama işlevi çağırarak olduğunu -State sonek. Gelecekte toplanmanın nihai sonucunu elde etmek için, aynı toplama işlevini -Mergesonek.

AggregateFunction — parametric data type.

Parametre

  • Toplama işlevinin adı.

    If the function is parametric, specify its parameters too.
    
  • Toplama işlevi bağımsız değişkenleri türleri.

Örnek

CREATE TABLE t
(
    column1 AggregateFunction(uniq, UInt64),
    column2 AggregateFunction(anyIf, String, UInt8),
    column3 AggregateFunction(quantiles(0.5, 0.9), UInt64)
) ENGINE = ...

uniq, anyİf (herhangi+Eğer) ve quantiles ClickHouse desteklenen toplam işlevleri vardır.

Kullanma 

Veri Ekleme 

Veri eklemek için şunları kullanın INSERT SELECT agr aggregateega ile -State- işlevler.

Fonksiyon örnekleri

uniqState(UserID)
quantilesState(0.5, 0.9)(SendTiming)

Karşılık gelen fonksiyonların aksine uniq ve quantiles, -State- fonksiyonlar son değer yerine durumu döndürür. Başka bir deyişle, bir değer döndürür AggregateFunction tür.

Sonuç inlarında SELECT sorgu, değerleri AggregateFunction türü, Tüm ClickHouse çıktı biçimleri için uygulamaya özgü ikili gösterime sahiptir. Örneğin, veri dökümü, TabSeparated ile format SELECT sorgu, daha sonra bu dökümü kullanarak geri yüklenebilir INSERT sorgu.

Veri Seçimi 

Veri seçerken AggregatingMergeTree tablo kullanın GROUP BY yan tümce ve veri eklerken aynı toplama işlevleri, ancak kullanarak -Mergesonek.

Bir toplama fonksiyonu ile -Merge sonek, bir dizi durum alır, bunları birleştirir ve tam veri toplama sonucunu döndürür.

Örneğin, aşağıdaki iki sorgu aynı sonucu döndürür:

SELECT uniq(UserID) FROM table

SELECT uniqMerge(state) FROM (SELECT uniqState(UserID) AS state FROM table GROUP BY RegionID)

Kullanım Örneği 

Görmek AggregatingMergeTree motor açıklaması.

Orijinal makale

Rating: 1.4 - 29 votes

Was this content helpful?
★☆☆☆☆