对配置单元中的数组元素求和

fafcakar  于 2021-06-24  发布在  Hive
关注(0)|答案(1)|浏览(316)

我有下表:

user_id, items_x, items_y
1, [0, 1, 3, 0], [1, 0, 0, 1]
2, [1, 1, 1, 0], [1, 0, 0, 2]
3, [2, 1, 0, 0], [0, 0, 4, 0]

我想得到以下结果,对数组中的元素求和:

user_id, items_x, items_y
1, 4, 2
2, 3, 3
3, 3, 4

应该可以对每一列分别使用“explode”和aggregate,但是当我有6列要处理时,这个解决方案非常复杂。
有没有更直接的方法?
谢谢!

m2xkgtsf

m2xkgtsf1#

由于数组长度是预先知道的,最简单的方法是通过索引和加法获得元素。

select user_id,items_x[0]+items_x[1]+items_x[2]+items_x[3],items_y[0]+items_y[1]+items_y[2]+items_y[3]
from tbl

相关问题