reduce 函数 - Azure Databricks - Databricks SQL

分类: 365bet正网注册 时间: 2025-10-11 12:15:41 作者: admin 阅读: 3279

适用于: Databricks SQL Databricks Runtime

使用自定义聚合器聚合数组中的元素。 此函数是函数的aggregate同义词。

语法

reduce(expr, start, merge [, finish] )

自变量

expr:一个 ARRAY 表达式。

start:任意类型的初始值。

merge:用于聚合当前元素的 lambda 函数。

finish:用于完成聚合的可选 lambda 函数。

返回

结果类型与 finish lambda 函数(如果存在)或 start 的结果类型匹配。

将表达式应用于初始状态和数组中的所有元素,并将其简化为单一状态。 通过应用 finish 函数将最终状态转换为最终结果。

该 merge 函数采用两个参数。 第一个参数是累加器,第二个参数是要聚合的元素。

累加器和结果的类型必须为 start。

可选的 finish 函数采用一个参数并返回最终结果。

示例

> 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

相关函数

array 函数

aggregate 函数

Lambda 函数

相关文章

be365备用网址

极速空间笔记本CPU天梯图2025(移动版CPU性能排行)

be365备用网址

汽车之家

365速度发国际大厅

手机游戏给我们带来了什么,手机游戏有哪些利弊?(手机游戏带来的弊端)