我有星火数据集,让我们看看a,b,c
我想带你去
a列上的组
对b列上的组(不是整个数据集)进行排序
迭代单个组,在连续的n行之间寻找某种序列/模式,并基于形成结果数据集的critera返回行
在Flink
dataset.groupBy(0).sortGroup(1, Order.ASCENDING)
.reduceGroup({})
在Pypark
我们可以在pandas上调用apply函数,在pandas上进行分组和排序,但是它的速度比flink慢10倍
注意:我想对分组数据进行处理,并返回另一个不是标准聚合的数据集
有人能给我介绍一下类似的关于如何在spark中使用java/scala的代码吗?
1条答案
按热度按时间uinbv5nw1#
根据迭代逻辑,有几种可能的方法:
使用数据集api
鉴于
先预处理一下
得到
现在我们可以将任何scala代码应用于元组序列,包括排序:
使用udafs
实现自定义udaf:
并用它进行聚合: