sparkrdd

1.根据下面的数据,完成本题的操作
12 张林 25 男 chinese 50
12 张林 25 男 math 60
12 张林 25 男 english 70
12 李成 20 男 chinese 50
12 李成 20 男 math 50
12 李成 20 男 english 50
12 谢芳 19 女 chinese 70
12 谢芳 19 女 math 70
12 谢芳 19 女 english 70
12 刘小婧 20 女 chinese 70
12 刘小婧 20 女 math 60
12 刘小婧 20 女 english 70
13 范东东 25 男 chinese 60
13 范东东 25 男 math 60
13 范东东 25 男 english 70
13 邱大同 20 男 chinese 50
13 邱大同 20 男 math 60
13 邱大同 20 男 english 50
13 周莉 19 女 chinese 70
13 周莉 19 女 math 80
13 周莉 19 女 english 70
说明:每一列数据分别为:班级编号、学生姓名、学生年龄、学生性别、课程名称和课程成绩

import org.apache.spark.{SparkContext, SparkConf}

/**

  • Created by hp on 2019/12/16.
    */
    object SparkRdd {
    def main(args: Array[String]) {

val conf=new SparkConf().setAppName(“SparkRdd”).setMaster(“local[*]”)

val sc=new SparkContext(conf)

val file=sc.textFile("f:///txt//scores.txt").map(lines=>{
 val line= lines.split(" ")
  (line(0),line(1),line(2),line(3),line(4),line(5))
})

//val xiaoyu=file.filter(_.3<“20”).map(._2).distinct().count()
//println(“一共有多少个小于20岁的人参加考试”+xiaoyu)

// val nan=file.filter(_.4==“男”).map(.2).distinct().count()
// println(“一共有多个男生参加考试”+nan)
//val ywcj=file.filter(
.5==“chinese”).map(.6.toInt).sum()/file.filter(._5==“chinese”).count()

// println(“语文科目的平均成绩是多少”+ywcj)
// val nans=file.filter(_.4==“男”).filter(.1==“12”).map(.6.toInt).sum()
// val cj= file.filter(
.4==“男”).filter(.1==“12”).map(._2).distinct().count()

// println(“12班男生平均成绩是多少”+nans/cj)

// val ywmax=file.filter(_.5==“chinese”).map(.6).max()
// println(“语文成绩最高分是多少(5分”+ywmax)
// val nv=file.filter(
.4==“女”).filter(.1==“12”)
.map(
._6.toInt>150).count()

// println(“总成绩大于150分的12班的女生有几个”+nv)

//总成绩大于150分,且数学大于等于70,且年龄大于等于19岁的学生有几个

val zgs= file.filter(_._5=="math").filter(_._6.toInt>=70).filter(_._3.toInt>=19).map(_._6.toInt>150).count()

println("总成绩大于150分,且数学大于等于70,且年龄大于等于19岁的学生有几个"+zgs)

}

}

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值