Tous les produits
Search
Centre de documentation

MaxCompute:ARRAY_REDUCE

Dernière mise à jour :Aug 10, 2026

Agrège les éléments du tableau a.

Syntaxe

R array_reduce(array<T> <a>, buf <init>, function<buf, T, buf> <merge>, function<buf, R> <final>)

Paramètres

  • a : obligatoire. Tableau de type ARRAY. Dans array<T>, T représente le type de données des éléments du tableau, qui peuvent être de n'importe quel type.

  • init : obligatoire. Valeur initiale du résultat intermédiaire utilisé pour l'agrégation.

  • merge : obligatoire. Fonction (intégrée ou personnalisée) ou expression qui combine chaque élément du tableau a avec le résultat intermédiaire. Ses deux paramètres d'entrée sont un élément du tableau a et la valeur init.

  • final : obligatoire. Fonction (intégrée ou personnalisée) ou expression qui convertit le résultat intermédiaire en résultat final. Son paramètre d'entrée est le résultat de l'exécution de merge ; R représente le type de données du résultat de sortie.

Valeur de retour

Le type du résultat renvoyé correspond au type de sortie défini par la fonction final.

Exemples

--返回6。
select array_reduce(array(1, 2, 3), 0, (buf, e)->buf + e, buf->buf);
--返回2.5。
select array_reduce(array(1, 2, 3, 4), named_struct('sum', 0, 'count', 0), (buf, e)->named_struct('sum', buf.sum + e, 'count', buf.count + 1), buf -> buf.sum / buf.count);

Fonctions connexes

  • La fonction ARRAY_REDUCE appartient aux fonctions de types complexes. Pour plus d'informations sur le traitement des données de types complexes (telles que ARRAY, MAP, STRUCT, JSON), consultez la section Complex type functions.

  • Les exemples d'utilisation de la fonction ARRAY_REDUCE font appel à l'opérateur ->. Pour plus de détails sur les fonctions Lambda utilisant ->, consultez la section Lambda functions.