Funcție agregată - Aggregate function
În gestionarea bazei de date , o funcție de agregare sau funcție de agregare este o funcție în care valorile mai multor rânduri sunt grupate împreună pentru a forma o singură valoare rezumativă .
Funcțiile comune de agregare includ:
Altele includ:
- Nanmean (înseamnă ignorarea valorilor NaN, cunoscute și ca „zero” sau „nul”)
- Stddev
Formal, o funcție agregată are ca intrare un set , un multiset (sac), sau o listă de la un domeniu de intrare I și ieșiri un element al unui domeniu de ieșire O . Domeniile de intrare și ieșire pot fi aceleași, cum ar fi pentru SUMsau pot fi diferite, cum ar fi pentru COUNT.
Funcțiile agregate apar frecvent în numeroase limbaje de programare , în foi de calcul și în algebră relațională .
listaggFuncția, așa cum sunt definite în SQL: 2016 agregate standard de date din mai multe rânduri într - un singur șir de caractere concatenate.
Funcții agregate descompozabile
Funcțiile agregate prezintă un blocaj , deoarece pot necesita toate valorile de intrare simultan. În calculul distribuit , este de dorit să împărțiți astfel de calcule în bucăți mai mici și să distribuiți lucrarea, de obicei calculând în paralel , printr-un algoritm de împărțire și cucerire .
Unele funcții de agregare pot fi calculate prin calcularea agregatului pentru subseturi și apoi prin agregarea acestor agregate; exemple includ COUNT, MAX, MIN,și SUM. În alte cazuri, agregatul poate fi calculat prin calcularea numerelor auxiliare pentru subseturi, agregarea acestor numere auxiliare și, în cele din urmă, calcularea numărului total la sfârșit; exemplele includ AVERAGE(urmărirea sumei și numărului, împărțirea la sfârșit) și RANGE(urmărirea max și min, scăderea la sfârșit). În alte cazuri, agregatul nu poate fi calculat fără a analiza întregul set simultan, deși în unele cazuri pot fi distribuite aproximări; exemple includ DISTINCT COUNT, MEDIAN,și MODE.
Astfel de funcții se numesc funcții de agregare descompozibile sau funcții de agregare descompozabile . Cele mai simple pot fi denumite funcții de agregare auto-descompozabile , care sunt definite ca acele funcții f astfel încât să existe un operator de fuziune astfel încât
unde este uniunea multiseturilor (vezi homomorfism monoidic ).
De exemplu SUM,:
- , pentru un singleton;
- , ceea ce înseamnă că îmbinarea este pur și simplu adăugare.
COUNT:
- ,
- .
MAX:
- ,
- .
MIN:
- ,
- .
Rețineți că funcțiile de agregare auto-descompozibile pot fi combinate (formal, luând produsul) prin aplicarea lor separat, astfel încât, de exemplu, se poate calcula atât SUMși, COUNTîn același timp, urmărind două numere.
Mai general, se poate defini o descompusă funcție de agregare f ca una care poate fi exprimată ca compoziția unei funcții finale g și o funcție de agregare auto descompusă h , . De exemplu, = / și = - .
AVERAGESUMCOUNTRANGEMAXMIN
În cadrul MapReduce , acești pași sunt cunoscuți ca InitialReduce (valoare pe set individual de înregistrare / singleton), Combine (combinare binară pe două agregări) și FinalReduce (funcția finală pe valori auxiliare) și mutarea agregării descompozabile înainte ca faza Shuffle să fie cunoscută ca pas InitialReduce,
Funcțiile de agregare descompozabile sunt importante în procesarea analitică online (OLAP), deoarece permit calcularea interogărilor de agregare pe rezultatele precomputate din cubul OLAP , mai degrabă decât pe datele de bază. De exemplu, este ușor de suportat COUNT, MAX, MIN,și SUMîn OLAP, deoarece acestea pot fi calculate pentru fiecare celulă a cubului OLAP și apoi sintetizate („înfășurate”), dar este dificil de suportat MEDIAN, deoarece acesta trebuie calculat separat pentru fiecare vizualizare .
Alte funcții agregate descompozabile
Pentru a calcula deviația medie și standard de la datele agregate, este necesar să aveți la dispoziție pentru fiecare grup: totalul valorilor (Σx i = SUM (x)), numărul de valori (N = COUNT (x)) și totalul pătratelor valorilor (Σx i 2 = SUM (x 2 )) ale fiecărui grup.
AVG:
- .
sau
- .
sau, numai dacă COUNT (X) = COUNT (Y)
- .
SUM(x2): Suma pătratelor valorilor este importantă pentru a calcula deviația standard a grupurilor
STDDEV:
Pentru o populație finită cu probabilități egale în toate punctele, avem
Aceasta înseamnă că abaterea standard este egală cu rădăcina pătrată a diferenței dintre media pătratelor valorilor și pătratul valorii medii.
- .
- .
Vezi si
- Tabelare încrucișată, de asemenea, tabel de contingență
- Foraj de date
- Exploatarea datelor
- Procesarea datelor
- Extrageți, transformați, încărcați
- Fold (funcție de ordin superior)
- Grupați după (SQL) , clauză SQL
- Cub OLAP
- Procesare analitică online
- Masă rotativă
- Algebra relațională
- Funcții utilitare pe bunuri indivizibile # Agregate de funcții utilitare
- XML pentru analiză
- AggregateIQ
Referințe
Citații
Bibliografie
- Yu, Yuan; Gunda, Pradeep Kumar; Isard, Michael (2009). Agregare distribuită pentru calcul paralel cu date: interfețe și implementări . Cel de-al 22-lea simpozion ACM SIGOPS pe principiile sistemelor de operare. ACM . pp. 247–260. doi : 10.1145 / 1629575.1629600 .
- Iisuse, Paulo; Baquero, Carlos; Almeida, Paulo Sérgio (2011). „Un sondaj al algoritmilor de agregare a datelor distribuite”. arXiv : 1110.0725 [ cs.DC ].
- Zhang, Chao (2017). Funcția agregată simetrică și asimetrică în calculul paralel masiv (raport tehnic).
Lecturi suplimentare
- Grabisch, Michel; Marichal, Jean-Luc; Mesiar, Radko; Pap, Endre (2009). Funcții de agregare . Enciclopedia matematicii și aplicațiile sale. 127 . Cambridge: Cambridge University Press . ISBN 978-0-521-51926-7. Zbl 1196.00002 .
- Funcții Oracle Aggregate: exemple MAX, MIN, COUNT, SUM, AVG