在JavaSpark中使用不同的列元素对相关数据执行操作

在JavaSpark中使用不同的列元素对相关数据执行操作,java,database,apache-spark,Java,Database,Apache Spark,我是一个有点像火花的初学者,我正试图让我的头脑了解不同的数据处理方法。如果我有一个由学生列表组成的数据框架,以及他们获得的所有不同的考试分数,我如何计算每个学生的平均分数?e、 g +------+-----+ |userId|score| +------+-----+ | 1 | 65 | | 1 | 68 | | 1 | 76 | | 1 | 75 | | 2 | 96 | | 2 | 63 | | 2 | 60 | | 3 |

我是一个有点像火花的初学者,我正试图让我的头脑了解不同的数据处理方法。如果我有一个由学生列表组成的数据框架,以及他们获得的所有不同的考试分数,我如何计算每个学生的平均分数?e、 g

+------+-----+
|userId|score|
+------+-----+
|   1  |  65 |
|   1  |  68 |
|   1  |  76 |
|   1  |  75 |
|   2  |  96 |
|   2  |  63 |
|   2  |  60 |
|   3  |  56 |
|   3  |  58 |
|   3  |  75 |
|   4  |  85 |
+------+-----+
作为

有谁能给我指点怎么做? 谢谢您

df.registerTemplate(“userScoreTable”);
DataFrame userAvg=sqlContext.sql(
“从userScoreTable分数中选择distinct(score.id)、avg(score.scores”);
列出用户平均值=
userAvg.rdd().map(rec->(rec.getInt(0),rec.getLong(1)).collect()

+------+-----+
|userId|score|
+------+-----+
|   1  |  71 |
|   2  |  73 |
|   3  |  63 |
|   4  |  85 |
+------+-----+