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
: birARRAY
ifade. -
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 finish
varsa 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 start
olmalı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