Agregační funkce - Aggregate function
V řízení databáze , An agregační funkce nebo agregace funkce je funkce kde hodnoty více řádků jsou seskupeny do jediného souhrnnou hodnotu .
Mezi běžné agregační funkce patří:
Mezi další patří:
- Nanmean (znamená ignorování hodnot NaN, známých také jako „nula“ nebo „null“)
- Stddev
Formálně, agregační funkce se jako vstup sadu , pracovní multimnožina (sáček), nebo seznam z nějaké domény vstupního I a výstupy prvek výstupního domény O . Vstupní a výstupní domény mohou být stejné, například pro SUM, nebo se mohou lišit, například pro COUNT.
Agregační funkce se běžně vyskytují v mnoha programovacích jazycích , v tabulkách a v relační algebře .
listaggFunkce, jak je definováno v SQL: 2016 standardních agreguje data z více řádků do jednoho zřetězeného řetězce.
Rozložitelné agregační funkce
Agregované funkce představují překážku , protože potenciálně vyžadují mít všechny vstupní hodnoty najednou. V distribuovaných výpočtech je žádoucí rozdělit takové výpočty na menší části a distribuovat práci, obvykle výpočetní paralelně , pomocí algoritmu dělení a dobývání .
Některé agregační funkce lze vypočítat výpočtem agregátu pro podmnožiny a agregací těchto agregátů; příklady zahrnují COUNT, MAX, MIN,a SUM. V jiných případech lze agregát vypočítat pomocí výpočtu pomocných čísel pro podmnožiny, agregací těchto pomocných čísel a nakonec výpočtem celkového počtu na konci; příklady zahrnují AVERAGE(sledování součtu a počtu, dělení na konci) a RANGE(sledování max a min, odčítání na konci). V ostatních případech agregát nelze vypočítat bez analýzy celé sady najednou, i když v některých případech lze distribuovat aproximace; příklady zahrnují DISTINCT COUNT, MEDIAN,a MODE.
Takové funkce se nazývají funkce rozložitelné agregace nebo funkce rozložitelné agregace . Nejjednodušší mohou být označovány jako samo-rozložitelné agregační funkce , které jsou definovány jako funkce f tak, že existuje operátor sloučení , takže
kde je spojení více sad (viz monoidní homomorfismus ).
Například SUM:
- pro singleton;
- , což znamená, že sloučení je jednoduše sčítání.
COUNT:
- ,
- .
MAX:
- ,
- .
MIN:
- ,
- .
Všimněte si toho, že funkce automatického rozkladu lze kombinovat (formálně, když vezmeme produkt) jejich samostatným použitím, takže například lze vypočítat jak SUMa COUNTsoučasně sledováním dvou čísel.
Obecněji řečeno, je možné definovat rozložitelného agregační funkce f , jako ten, který lze vyjádřit jako složení konečného funkce g a self-rozložitelný agregační funkce h , . Například = / a = - .
AVERAGESUMCOUNTRANGEMAXMIN
V rámci MapReduce jsou tyto kroky známé jako InitialReduce (hodnota pro jednotlivou sadu záznamů/singletonů), Combine (binární sloučení na dvou agregacích) a FinalReduce (konečná funkce na pomocných hodnotách) a přesunutí rozložitelné agregace před fází Shuffle jako krok počátečního snížení,
Rozložitelné agregační funkce jsou důležité v online analytickém zpracování (OLAP), protože umožňují vypočítat agregační dotazy z předem vypočítaných výsledků v datové krychli OLAP , nikoli ze základních dat. Například je snadné podporovat COUNT, MAX, MIN,a SUMv OLAP, protože je lze vypočítat pro každou buňku krychle OLAP a poté je shrnout („srolovat“), ale je obtížné je podporovat MEDIAN, protože to musí být vypočítáno pro každý pohled zvlášť .
Jiné rozložitelné agregační funkce
Aby bylo možné vypočítat průměrnou a standardní odchylku od souhrnných údajů, je nutné mít pro každou skupinu k dispozici: součet hodnot (Σx i = SUM (x)), počet hodnot (N = COUNT (x)) a součet čtverců hodnot (Σx i 2 = SUM (x 2 )) každé skupiny.
AVG:
- .
nebo
- .
nebo, pouze pokud COUNT (X) = COUNT (Y)
- .
SUM(x2): Součet čtverců hodnot je důležitý pro výpočet standardní odchylky skupin
STDDEV:
Pro konečnou populaci se stejnou pravděpodobností ve všech bodech máme
To znamená, že standardní odchylka se rovná druhé odmocnině rozdílu mezi průměrem čtverců hodnot a druhou mocninou průměrné hodnoty.
- .
- .
Viz také
- Cross-tabulation aka Contingency table
- Vrtání dat
- Těžba dat
- Zpracování dat
- Extrahujte, transformujte, načítejte
- Fold (funkce vyššího řádu)
- Seskupit podle (SQL) , klauzule SQL
- OLAP kostka
- Online analytické zpracování
- Kontingenční tabulka
- Relační algebra
- Užitkové funkce na nedělitelném zboží#Agregáty pomocných funkcí
- XML pro analýzu
- Agregát IQ
Reference
Citace
Bibliografie
- Yu, Yuan; Gunda, Pradeep Kumar; Isard, Michael (2009). Distribuovaná agregace pro paralelní výpočet dat: rozhraní a implementace . ACM SIGOPS 22. sympozium o principech operačních systémů. ACM . s. 247–260. doi : 10,1145/1629575,1629600 .
- Ježíši, Paulo; Baquero, Carlos; Almeida, Paulo Sérgio (2011). „Průzkum distribuovaných algoritmů agregace dat“. arXiv : 1110.0725 [ cs.DC ].
- Zhang, Chao (2017). Symetrická a asymetrická agregační funkce v masivně paralelních počítačích (Technická zpráva).
Další čtení
- Grabisch, Michel; Marichal, Jean-Luc; Mesiar, Radko; Pap, Endre (2009). Agregační funkce . Encyklopedie matematiky a její aplikace. 127 . Cambridge: Cambridge University Press . ISBN 978-0-521-51926-7. Zbl 1196.00002 .
- Funkce agregace Oracle: příklady MAX, MIN, COUNT, SUM, AVG