Todos os produtos
Search
Central de documentação

MaxCompute:ARRAY_REDUCE

Última atualização: Sep 22, 2026

Agrega os elementos do Array a.

Sintaxe

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

Parâmetros

  • a: obrigatório. Este parâmetro especifica um array. T em array<T> indica o tipo de dados dos elementos do array. Os elementos podem ser de qualquer tipo de dados.

  • init: obrigatório. O valor inicial do resultado intermediário usado para agregar os elementos.

  • merge: obrigatório. Função integrada, função definida pelo usuário ou expressão que executa uma operação em cada elemento do Array a e no resultado intermediário. Essa função ou expressão recebe como parâmetros de entrada os elementos do Array a e o parâmetro init.

  • final: obrigatório. Função integrada, função definida pelo usuário ou expressão que converte o resultado intermediário no resultado final. Essa função ou expressão recebe como parâmetro de entrada o resultado de merge. R especifica o tipo de dados da saída.

Valor de retorno

O tipo de dados do valor de retorno é o mesmo especificado para final.

Exemplos

-- 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);

Funções relacionadas

  • ARRAY_REDUCE é uma função de tipo complexo. Para obter mais informações sobre funções relacionadas ao processamento de dados de tipos complexos, como ARRAY, MAP, STRUCT e JSON, consulte Complex type functions.

  • Nos exemplos anteriores, é usada a combinação de um hífen com um colchete angular de fechamento (->). Para obter mais informações sobre como usar essa combinação (->) em funções Lambda, consulte Lambda functions.