需求:在spark开发中,将数据分组后,再把分组后的数据按照数字的大小排序,并将其一个个拼接起来。
部分代码如下:
val result = prdd.filter(x => x._2 != null && x._2 != "")
.distinct()
.mapValues(x => x.toInt)
//这种情况在本地local模式下可以先排序后分组,但是集群上会排序会乱序,所以只能在下面分完组后在排序
// .sortBy(x => x._2)
.groupByKey()
.mapValues(x => {
val builder = new StringBuilder
x.toList.sorted.foreach(y => {
builder.append(y).append(",")
})
builder.toString().substring(0, builder.toString().length - 1)
})