我有一些例子数据:
my_data = [{'id': '001', 'name': 'Sam', 'class': "classA", 'age': 15, 'exam_score': 90},
{'id': '002', 'name': 'Tom', 'class': "classA", 'age': 15, 'exam_score': 78},
{'id': '003', 'name': 'Ben', 'class': "classB", 'age': 16, 'exam_score': 91},
{'id': '004', 'name': 'Max', 'class': "classB", 'age': 16, 'exam_score': 76},
{'id': '005', 'name': 'Ana', 'class': "classA", 'age': 15, 'exam_score': 88},
{'id': '006', 'name': 'Ivy', 'class': "classA", 'age': 16, 'exam_score': 77},
{'id': '007', 'name': 'Eva', 'class': "classB", 'age': 15, 'exam_score': 86},
{'id': '008', 'name': 'Zoe', 'class': "classB", 'age': 16, 'exam_score': 89}]
my_rdd = sc.parallelize(my_data)
my_rdd
假设我有一些简单的函数:
def divide_by_100(value):
return value/100
目标是用函数将所有考试分数除以100,然后求出最小分数.我的 idea 是:
- 按键筛选my_rdd,以便仅保留
exam_score
中的值 - 将
divide_by_100()
函数应用于此 - 使用
.min()
和.collect()
功能打印数据中的最低考试分数
I'm aware that 100 could also be used.
问题是,我不知道如何在使用pyspark
的情况下将其付诸实践.会很感激你能帮上忙的.