Todos los productos
Search
Centro de documentos

MaxCompute:ARRAY_REDUCE

Última actualización: Sep 22, 2026

Agrega los elementos del array a.

Sintaxis

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

Parámetros

  • a: obligatorio. Este parámetro especifica un array. T en array<T> indica el tipo de dato de los elementos del array. Los elementos admiten cualquier tipo de dato.

  • init: obligatorio. Valor inicial del resultado intermedio que se usa para agregar los elementos.

  • merge: obligatorio. Función integrada, función definida por el usuario o expresión que aplica una operación a cada elemento del array a y al resultado intermedio. Esta función o expresión toma como parámetros de entrada los elementos del array a y el parámetro init.

  • final: obligatorio. Función integrada, función definida por el usuario o expresión que convierte el resultado intermedio en el resultado final. Esta función o expresión recibe como parámetro de entrada el resultado de merge. R define el tipo de dato de la salida.

Valor devuelto

El tipo de dato del valor devuelto coincide con el especificado para final.

Ejemplos

-- The return value is 6. 
select array_reduce(array(1, 2, 3), 0, (buf, e)->buf + e, buf->buf);
-- The return value is 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);

Funciones relacionadas

  • ARRAY_REDUCE es una función de tipos complejos. Para obtener más información sobre las funciones que procesan datos de tipos complejos, como ARRAY, MAP, STRUCT y JSON, consulte Complex type functions.

  • En los ejemplos anteriores se usa la combinación de un guion y un signo de mayor que (->). Para conocer cómo usar esta combinación (->) en las funciones Lambda, consulte Lambda functions.