ClickHouse/docs/tr/engines/table-engines/mergetree-family/aggregatingmergetree.md
Ivan Blinkov cd14f9ebcb
SQL reference refactoring (#10857)
* split up select.md

* array-join.md basic refactoring

* distinct.md basic refactoring

* format.md basic refactoring

* from.md basic refactoring

* group-by.md basic refactoring

* having.md basic refactoring

* additional index.md refactoring

* into-outfile.md basic refactoring

* join.md basic refactoring

* limit.md basic refactoring

* limit-by.md basic refactoring

* order-by.md basic refactoring

* prewhere.md basic refactoring

* adjust operators/index.md links

* adjust sample.md links

* adjust more links

* adjust operatots links

* fix some links

* adjust aggregate function article titles

* basic refactor of remaining select clauses

* absolute paths in make_links.sh

* run make_links.sh

* remove old select.md locations

* translate docs/es

* translate docs/fr

* translate docs/fa

* remove old operators.md location

* change operators.md links

* adjust links in docs/es

* adjust links in docs/es

* minor texts adjustments

* wip

* update machine translations to use new links

* fix changelog

* es build fixes

* get rid of some select.md links

* temporary adjust ru links

* temporary adjust more ru links

* improve curly brace handling

* adjust ru as well

* fa build fix

* ru link fixes

* zh link fixes

* temporary disable part of anchor checks
2020-05-15 07:34:54 +03:00

3.9 KiB
Raw Blame History

machine_translated machine_translated_rev toc_priority toc_title
true 72537a2d52 35 AggregatingMergeTree

Aggregatingmergetree

Motor devralır MergeTree, veri parçaları birleştirme mantığı değiştirme. ClickHouse, tüm satırları aynı birincil anahtarla değiştirir (veya daha doğru olarak, aynı sıralama anahtarı) tek bir satırla (bir veri parçası içinde), toplama işlevlerinin durumlarının bir kombinasyonunu saklar.

Kullanabilirsiniz AggregatingMergeTree artımlı veri toplama, toplanan materialized görünümleri de dahil olmak üzere tablolar.

Motor, tüm sütunları aşağıdaki türlerle işler:

Kullanmak uygundur AggregatingMergeTree siparişlere göre satır sayısını azaltırsa.

Tablo oluşturma

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) ENGINE = AggregatingMergeTree()
[PARTITION BY expr]
[ORDER BY expr]
[SAMPLE BY expr]
[TTL expr]
[SETTINGS name=value, ...]

İstek parametrelerinin açıklaması için bkz. istek açıklaması.

Sorgu yan tümceleri

Oluştururken bir AggregatingMergeTree tablo aynı yanlar oluşturul ,urken olduğu gibi gerekli MergeTree Tablo.

Bir tablo oluşturmak için kullanımdan kaldırılan yöntem

!!! attention "Dikkat" Bu yöntemi yeni projelerde kullanmayın ve mümkünse eski projeleri yukarıda açıklanan yönteme geçin.

CREATE TABLE [IF NOT EXISTS] [db.]table_name [ON CLUSTER cluster]
(
    name1 [type1] [DEFAULT|MATERIALIZED|ALIAS expr1],
    name2 [type2] [DEFAULT|MATERIALIZED|ALIAS expr2],
    ...
) ENGINE [=] AggregatingMergeTree(date-column [, sampling_expression], (primary, key), index_granularity)

Tüm parametreler, aşağıdaki gibi aynı anlama sahiptir MergeTree.

Seç ve Ekle

Veri eklemek için şunları kullanın INSERT SELECT agrega-Devlet-fonksiyonları ile sorgu. Veri seçerken AggregatingMergeTree tablo kullanın GROUP BY yan tümce ve veri eklerken aynı toplama işlevleri, ancak kullanarak -Merge sonek.

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.

Toplu bir Somutlaştırılmış Görünüm örneği

AggregatingMergeTree saatler hayata görünüm test.visits Tablo:

CREATE MATERIALIZED VIEW test.basic
ENGINE = AggregatingMergeTree() PARTITION BY toYYYYMM(StartDate) ORDER BY (CounterID, StartDate)
AS SELECT
    CounterID,
    StartDate,
    sumState(Sign)    AS Visits,
    uniqState(UserID) AS Users
FROM test.visits
GROUP BY CounterID, StartDate;

Veri ekleme test.visits Tablo.

INSERT INTO test.visits ...

Veriler hem tablo hem de görünümde eklenir test.basic toplama işlemini gerçekleştir .ecektir.

Toplanan verileri almak için, aşağıdaki gibi bir sorgu yürütmemiz gerekir SELECT ... GROUP BY ... görünüm fromden test.basic:

SELECT
    StartDate,
    sumMerge(Visits) AS Visits,
    uniqMerge(Users) AS Users
FROM test.basic
GROUP BY StartDate
ORDER BY StartDate;

Orijinal makale