spark数据集合并多行

7fyelxc5  于 2021-05-27  发布在  Spark
关注(0)|答案(0)|浏览(284)

这是我的数据集,

Name Group         Age
A    [123]          10
B.   [123,456]      20
C.   [456,789]      30
D.   [900]          40
E.   [800,900]      50
F.   [1000]         60

现在我想合并 Group 这样,结果看起来

Name       Group                    Age
    A,B,C    [123,456,789]          10,20,30
    D,E      [900,800]              40,50
    F.       [1000]                 60

我试过了,但那不是我想要的。我也试过加入。任何人都可以在java解决方案方面提供帮助。
编辑:
我找到了可以做类似事情的约化函数。

dataset.reduce(new ReduceFunction<Grouped>(){

            private static final long serialVersionUID = 8289076985320745158L;
            @Override
            public Grouped call(final Grouped v1, final Grouped v2) {

            if (!Collections.disjoint(v1.getGroup(), (v2.getGroup()))) 
               {
                    v1.getAge().addAll(v2.getAge());
                    v1.getGroup().addAll(v2.getGroup());
                    v1.getName().addAll(v2.getName());

                }
 }

}
但如何对所有行执行此操作???
这可以将前2行缩减为:

Name   Group         Age
A,B    [123,456]          10,20

暂无答案!

目前还没有任何答案,快来回答吧!

相关问题