目录
题目要求
- 计算不同年级的学生数量
- 获取性别为女性并且年龄小于20的学生信息
- 获取姓氏为王姓的学生信息
准备数据
准备students.txt
将数据上传到hdfs上
实现代码
import re
from pyspark import SparkContext
sc = SparkContext()
# 1-读取hdfs的学生信息
rdd = sc.textFile("hdfs://node1:8020/data/students.txt")
rdd1 = rdd.map(lambda x : x.split(","))
# 1-todo: 计算不同年级的学生数量
rdd2 = rdd1.map(lambda x:(x[4],1))
rdd3 = rdd2.reduceByKey(lambda x,y:x+y)
# 2-todo: 获取性别为女性并且年龄小于20的学生信息
rdd5 = rdd1.filter(lambda x :(int(x[3]) <