统计每个班级的平均分。 score_rdd = sc.parallelize([(1, 90), (2, 80), (1, 85), (2, 75), (1, 95)])
时间: 2023-10-07 21:07:56 浏览: 54
可以使用 Spark 的 map-reduce 操作来实现。首先,对 RDD 进行 map 操作,将每个元素的键(即班级编号)作为 key,将每个元素的值(即分数)作为 value。然后,对这些键值对进行 reduceByKey 操作,计算每个班级的总分和学生人数,最后对每个班级的总分除以学生人数得到平均分。
代码如下:
```
score_rdd = sc.parallelize([(1, 90), (2, 80), (1, 85), (2, 75), (1, 95)])
# 计算每个班级的总分和学生人数
class_total = score_rdd.map(lambda x: (x[0], (x[1], 1))) \
.reduceByKey(lambda x, y: (x[0] + y[0], x[1] + y[1]))
# 计算每个班级的平均分
class_avg = class_total.map(lambda x: (x[0], x[1][0] / x[1][1]))
# 输出结果
print(class_avg.collect())
```
输出结果为:
```
[(2, 77.5), (1, 90.0)]
```
表示第 1 个班级的平均分为 90 分,第 2 个班级的平均分为 77.5 分。
相关问题
统计每个单词出现的次数。 word_rdd = sc.parallelize([hello, world, hello, hi, hello, hi])
可以使用以下代码实现:
```python
word_rdd = sc.parallelize(['hello', 'world', 'hello', 'hi', 'hello', 'hi'])
word_count = word_rdd.countByValue()
print(word_count)
```
输出结果为:
```
defaultdict(<class 'int'>, {'hello': 3, 'world': 1, 'hi': 2})
```
其中,`countByValue()` 方法返回一个字典,其中每个键表示 RDD 中的一个唯一值,而每个值表示该键在 RDD 中出现的次数。在本例中,单词“hello”出现了3次,单词“world”出现了1次,单词“hi”出现了2次。
统计每个单词出现的次数。 word_rdd = sc.parallelize(["hello", "world", "hello", "hi", "hello", "hi"])
可以使用 Spark 的 map 和 reduceByKey 函数来统计每个单词出现的次数,具体代码如下:
```python
word_rdd = sc.parallelize(["hello", "world", "hello", "hi", "hello", "hi"])
word_counts = word_rdd.map(lambda word: (word, 1)).reduceByKey(lambda a, b: a + b)
print(word_counts.collect())
```
输出结果为:
```
[('world', 1), ('hello', 3), ('hi', 2)]
```
其中,map(lambda word: (word, 1)) 将每个单词转换成 (单词, 1) 的形式,reduceByKey(lambda a, b: a + b) 对每个单词的出现次数进行累加。最终,collect 函数将每个单词及其出现次数收集到一个列表中并打印出来。
相关推荐
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)