在JavaSpark中使用不同的列元素对相关数据执行操作
我是一个有点像火花的初学者,我正试图让我的头脑了解不同的数据处理方法。如果我有一个由学生列表组成的数据框架,以及他们获得的所有不同的考试分数,我如何计算每个学生的平均分数?e、 g在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 |
+------+-----+
|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 |
+------+-----+