我正在尝试存储在两个级别聚合的键值数组。我的数据如下所示。
I1 I2 Key Val
L1 C1 K1 V1
L1 C2 K2 V2
L1 C2 K3 V3
所以为了存储I2的所有值。我把查询写成
通过I1,I2选择I1,I2,UNION_MAP(MAP(Key,Val))为new_val组
这很有效。
但是当我进行第二级聚合时,地图中的所有数据都会消失到I2。我在下面提供的查询。
从中选择I1,UNION_MAP(MAP(I2,new_val)) (选择I1,I2,UNION_MAP(MAP(Key,Val))作为new_val组,由I1,I2)输出;
这不能给我正确的数据。
我期待数据如下所示
(L1,(C1,(K1,V1)))
(L1,(C2,(K2,V2),(K3,V3))))
有人可以帮助我理解这里的错误