我想获取Spark Java中特定符号的ID的前5个最大位置。 我尝试了分组方式和排序方式,但该位置不在分组方式中
数据集 top5TDS = filterPostionSummaryDS.groupBy(“ symbol”)。agg(functions.col(“ symbol”)。asc_nulls_first())。orderBy(“ symbol”,“ postion”);
如果我在分组依据中添加排名,那不是最大数目。
输入文件:
Symbol Id Postion
PD SAL12 21000
PD AHM3 12341
PD D21 125678
PD QWE2 12789
PD ERD4 987
PD QWX4 12
PD WQ34 3421
ND SAL12 123908
ND AHM3 435
ND D21 2134
ND QWE2 98
ND ERD4 3421
ND QWX4 123
ND WQ34 213455
输出:
PD D21 125678
PD SAL12 21000
PD QWE2 12789
PD AHM3 12341
PD WQ34 3421
ND WQ34 213455
ND SAL12 123908
ND ERD4 3421
ND D21 2134
ND AHM3 435