小编pri*_*178的帖子

Spark:如何按DataFrame中的不同值进行分组

我有一个文件中的数据,格式如下:

1,32    
1,33
1,44
2,21
2,56
1,23
Run Code Online (Sandbox Code Playgroud)

我正在执行的代码如下:

val sqlContext = new org.apache.spark.sql.SQLContext(sc) 

import spark.implicits._
import sqlContext.implicits._

case class Person(a: Int, b: Int)

val ppl = sc.textFile("newfile.txt").map(_.split(","))
    .map(p=> Person(p(0).trim.toInt, p(1).trim.toInt))
    .toDF()
ppl.registerTempTable("people")

val result = ppl.select("a","b").groupBy('a).agg()
result.show
Run Code Online (Sandbox Code Playgroud)

预期产出是:

a 32, 33, 44, 23

b 21, 56 
Run Code Online (Sandbox Code Playgroud)

而不是按sum,count,mean等聚合.我想要行中的每个元素.

apache-spark apache-spark-sql spark-dataframe

2
推荐指数
1
解决办法
4919
查看次数