Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Şunlar için geçerlidir:
Databricks SQL
Databricks Runtime
Özel toplayıcı kullanarak dizideki öğeleri toplar. Bu işlev, reduce işlevi için bir eş anlamlıdır.
Söz dizimi
aggregate(expr, start, merge [, finish])
Argümanlar
-
expr: ARRAY ifadesi. -
start: Herhangi bir türün başlangıç değeri. -
merge: Geçerli öğeyi birleştirmek için kullanılan lambda işlevi. -
finish: Toplama işlemini sonlandırmak için kullanılan isteğe bağlı lambda işlevi.
İadeler
Sonuç türü, veya finishvarsa lambda işlevinin start sonuç türüyle eşleşir.
Bir ifadeyi ilk duruma ve dizideki tüm öğelere uygular ve bunu tek bir duruma küçültür. Son durum, bir finish işlev uygulanarak nihai sonucta dönüştürülür.
merge işlevi iki parametre alır. Birincisi akümülatör, ikincisi toplanacak öğedir.
Akümülatör ve sonuç türünde startolmalıdır.
İsteğe bağlı finish işlev bir parametre alır ve nihai sonucu döndürür.
Örnekler
> SELECT aggregate(array(1, 2, 3), 0, (acc, x) -> acc + x);
6
> SELECT aggregate(array(1, 2, 3), 0, (acc, x) -> acc + x, acc -> acc * 10);
60
> SELECT aggregate(array(1, 2, 3, 4),
named_struct('sum', 0, 'cnt', 0),
(acc, x) -> named_struct('sum', acc.sum + x, 'cnt', acc.cnt + 1),
acc -> acc.sum / acc.cnt) AS avg
2.5