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, aggregate işlevi için bir eş anlamlıdır.
Söz dizimi
reduce(expr, start, merge [, finish] )
Tartışmalar
-
expr: birARRAYifade. -
start: Herhangi bir türün başlangıç değeri. -
merge: Geçerli öğeyi toplamak 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 biriktirici, 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 reduce(array(1, 2, 3), 0, (acc, x) -> acc + x);
6
> SELECT reduce(array(1, 2, 3), 0, (acc, x) -> acc + x, acc -> acc * 10);
60
> SELECT reduce(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