Funkcja agregująca - Aggregate function
W zarządzaniu bazą danych funkcja agregująca lub funkcja agregująca to funkcja, w której wartości wielu wierszy są grupowane razem w celu utworzenia pojedynczej wartości podsumowującej .
Typowe funkcje agregujące obejmują:
Inne obejmują:
- Nanmean (oznacza ignorowanie wartości NaN, znanych również jako „nil” lub „null”)
- Standardowe
Formalnie funkcja agregująca przyjmuje jako dane wejściowe zbiór , zestaw wielokrotny (torbę) lub listę z pewnej domeny wejściowej I i wyprowadza element domeny wyjściowej O . Domeny wejściowe i wyjściowe mogą być takie same, na przykład for SUM, lub mogą być różne, na przykład for COUNT.
Funkcje agregujące występują powszechnie w wielu językach programowania , w arkuszach kalkulacyjnych iw algebrze relacyjnej .
listaggFunkcji, zgodnie z definicją w SQL: 2016 standardowe dane kruszywa z wielu rzędów w jeden połączonego łańcucha.
Rozkładalne funkcje agregujące
Funkcje agregujące stanowią wąskie gardło , ponieważ potencjalnie wymagają posiadania wszystkich wartości wejściowych naraz. W obliczeniach rozproszonych pożądane jest podzielenie takich obliczeń na mniejsze części i rozdzielenie pracy, zwykle obliczeń równoległych , za pomocą algorytmu dziel i zwyciężaj .
Niektóre funkcje agregujące można obliczyć, obliczając agregat dla podzbiorów, a następnie agregując te agregaty; przykłady obejmują COUNT, MAX, MIN,i SUM. W innych przypadkach agregat można obliczyć, obliczając liczby pomocnicze dla podzbiorów, agregując te liczby pomocnicze i na końcu obliczając liczbę całkowitą; przykłady obejmują AVERAGE(śledzenie sumy i liczby, dzielenie na końcu) i RANGE(śledzenie maks. i min., odejmowanie na końcu). W innych przypadkach agregat nie może być obliczony bez jednoczesnej analizy całego zbioru, chociaż w niektórych przypadkach można rozłożyć przybliżenia; przykłady obejmują DISTINCT COUNT, MEDIAN,i MODE.
Takie funkcje są nazywane dekomposowalnymi funkcjami agregacyjnymi lub dekomposowalnymi funkcjami agregacyjnymi . Najprostsze można nazwać samorozkładalnymi funkcjami agregacyjnymi , które są zdefiniowane jako funkcje f takie, że istnieje operator scalania taki, że
gdzie jest połączenie multisetów (patrz homomorfizm monoidów ).
Na przykład SUM:
- , dla singletona;
- , co oznacza, że scalanie jest po prostu dodawaniem.
COUNT:
- ,
- .
MAX:
- ,
- .
MIN:
- ,
- .
Zauważ, że samorozkładalne funkcje agregacji można łączyć (formalnie biorąc produkt) przez zastosowanie ich osobno, więc na przykład można obliczyć zarówno SUMi COUNTw tym samym czasie, śledząc dwie liczby.
Bardziej ogólnie, można zdefiniować rozkładalną funkcję agregacji f jako taką, która może być wyrażona jako złożenie końcowej funkcji g i samorozkładalnej funkcji agregacji h , . Na przykład = / i = − .
AVERAGESUMCOUNTRANGEMAXMIN
W strukturze MapReduce te kroki są znane jako InitialReduce (wartość w indywidualnym zestawie rekordów/singleton), Combine (scalanie binarne w dwóch agregacjach) i FinalReduce (funkcja końcowa na wartościach pomocniczych) oraz przenoszenie agregacji dającej się rozłożyć przed poznaniem fazy Shuffle jako krok InitialReduce,
Rozkładalne funkcje agregacji są ważne w przetwarzaniu analitycznym online (OLAP), ponieważ umożliwiają obliczanie zapytań agregujących na podstawie wstępnie obliczonych wyników w kostce OLAP , a nie na danych podstawowych. Na przykład jest łatwy do obsługi COUNT, MAX, MIN,i SUMw OLAP, ponieważ można je obliczyć dla każdej komórki kostki OLAP, a następnie podsumować („zwinąć”), ale jest to trudne do obsługi MEDIAN, ponieważ musi to być obliczone dla każdego widoku osobno .
Inne rozkładalne funkcje agregujące
W celu obliczenia średniej i odchylenia standardowego z danych zagregowanych konieczne jest posiadanie dla każdej grupy: sumy wartości (Σx i = SUMA(x)), liczby wartości (N=LICZBA(x)) oraz suma kwadratów wartości (Σx i 2 =SUMA(x 2 )) każdej grupy.
AVG:
- .
lub
- .
lub tylko jeśli LICZBA(X)=LICZBA(Y)
- .
SUM(x2): Suma kwadratów wartości jest ważna w celu obliczenia odchylenia standardowego grup
STDDEV:
Dla skończonej populacji o równych prawdopodobieństwach we wszystkich punktach mamy
Oznacza to, że odchylenie standardowe jest równe pierwiastkowi kwadratowemu z różnicy między średnią kwadratów wartości a kwadratem średniej wartości.
- .
- .
Zobacz też
- Tabela krzyżowa, czyli tabela kontyngencji
- Wiercenie danych
- Eksploracja danych
- Przetwarzanie danych
- Wyodrębnij, przekształć, załaduj
- Składanie (funkcja wyższego rzędu)
- Grupuj według (SQL) , klauzula SQL
- kostka OLAP
- Przetwarzanie analityczne online
- Stół obrotowy
- Algebra relacyjna
- Funkcje użyteczności na dobrach niepodzielnych#Zbiory funkcji użyteczności
- XML do analizy
- AgregatIQ
Bibliografia
Cytaty
Bibliografia
- Yu, Yuan; Gunda, Pradeep Kumar; Isard, Michael (2009). Rozproszona agregacja na potrzeby przetwarzania równoległego danych: interfejsy i implementacje . ACM SIGOPS 22. sympozjum nt. zasad systemów operacyjnych. ACM . s. 247–260. doi : 10.1145/1629575.1629600 .
- Jezu, Paulo; Baquero, Carlosa; Almeida, Paulo Sergio (2011). „Ankieta rozproszonych algorytmów agregacji danych”. arXiv : 1110.0725 [ cs.DC ].
- Zhang, Chao (2017). Symetryczna i asymetryczna funkcja agregująca w obliczeniach masowo równoległych (raport techniczny).
Dalsza lektura
- Grabischa, Michela; Marichal, Jean-Luc; Mesiar, Radko; Pap, Endre (2009). Funkcje agregacji . Encyklopedia Matematyki i jej Zastosowania. 127 . Cambridge: Wydawnictwo Uniwersytetu Cambridge . Numer ISBN 978-0-521-51926-7. Zbl 1196.00002 .
- Funkcje agregujące Oracle: MAX, MIN, COUNT, SUM, AVG Przykłady