带长类型字段的排序依据在Spark Java Dataset中不起作用

问题描述

我有一个数据集,下面是Employee对象中的字段。

class Employee {String loginSession,Long loginDateTimeMilli,String name,string empType,String location}

我必须对数据集执行以下操作

    group by loginSession
    order by loginDateTimeMill

以下是我的表演方式

ds.orderBy(col('loginDateTimeMill').asc())
.groupBy(col('loginSession'))
.agg(collect_list(struct) ...) ... 

这给了我下面的输出(示例)

[[loginSession,WrappedArray([name1,emptype1,location1,loginDateTimeMilli_2],[name1,loginDateTimeMilli_1],loginDateTimeMilli_3])]

下面是预期的输出

[[loginSession,loginDateTimeMilli_3])]

不确定为什么它不起作用。难道我做错了什么 ? 任何帮助将不胜感激。 我正在使用Java api产生火花。

编辑:我正在为每个loginSession创建文件,但工作正常,唯一的问题是细节未按顺序排列。同样问题不在于生成的所有文件,而是仅对某些文件显示

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)