大佬救命十万火急急急急急spark的scala做

查看 84|回复 4
作者:wbq111   
用spark 中的scala做

recode.txt
(318 Bytes, 下载次数: 0)
2023-9-27 17:25 上传
点击文件名下载附件
数据
下载积分: 吾爱币 -1 CB

1、使用List(1,2,3,4,5)创建RDD,并将所有元素打印出来。

2、将第1小题中的RDD的每个元素加2,打印出前3个元素。
3、有一个包含了学生姓名的数组Array("Jim","Tom","Jim","Jerry","John","Jim","Tom"),通过RDD去除重复的名字,打印出去重后的RDD元素。
4、通过RDD计算第3小题的数组中有多少个元素以字母'J'开头,打印RDD元素个数。
5、考试文档中的recode.txt文件中包含了商品被点击的记录,其中第一个字段是点击时间,第二个字段是商品ID,将文件数据读取到RDD中,使用合适的算子统计每件商品被点击的次数。
6、考试文档中的student.txt文件记录了大数据技术专业2个班同学的《spark实时数据处理技术》课程成绩,数据结构为【学号,姓名,班级,成绩】,读取文件数据用来创建DataFrame,将DataFrame中所有数据打印出来;
7、使用第6小题的DataFrame,统计出及格的学生人数并打印出来;
8、使用第6小题的DataFrame,统计每个班的平均分并打印出来;
9,使用第6小题的DataFrame,计算出1班排名前3的学生信息并打印出来;
10、使用第6小题的DataFrame,查询出不及格的学生,并将学生信息导出为csv文件。

小题, 打印出来

jack98   


wbq111 发表于 2023-9-27 19:17
《禁止使用网挣网盘》这个是什么?

被吾爱论坛错误识别为网盘地址
wbq111
OP
  

1、(8分)使用List(1,2,3,4,5)创建RDD,并将所有元素打印出来。

2、(8分)将第1小题中的RDD的每个元素加2,打印出前3个元素。
3、(8分)有一个包含了学生姓名的数组Array("Jim","Tom","Jim","Jerry","John","Jim","Tom"),通过RDD去除重复的名字,打印出去重后的RDD元素。
4、(12分)通过RDD计算第3小题的数组中有多少个元素以字母'J'开头,打印RDD元素个数。
5、(14分)考试文档中的recode.txt文件中包含了商品被点击的记录,其中第一个字段是点击时间,第二个字段是商品ID,将文件数据读取到RDD中,使用合适的算子统计每件商品被点击的次数。
6、(10分)考试文档中的student.txt文件记录了大数据技术专业2个班同学的《spark实时数据处理技术》课程成绩,数据结构为【学号,姓名,班级,成绩】,读取文件数据用来创建DataFrame,将DataFrame中所有数据打印出来;
7、(10分)使用第6小题的DataFrame,统计出及格的学生人数并打印出来;
8、(10分)使用第6小题的DataFrame,统计每个班的平均分并打印出来;
9、(10分)使用第6小题的DataFrame,计算出1班排名前3的学生信息并打印出来;
10、(10分)使用第6小题的DataFrame,查询出不及格的学生,并将学生信息导出为csv文件。
jack98   

1.使用List(1,2,3,4,5)创建RDD,并将所有元素打印出来。
import org.apache.spark.{SparkConf, SparkContext}
val conf = new SparkConf().setAppName("Example").setMaster("local")
val sc = new SparkContext(conf)
val listRDD = sc.parallelize(List(1,2,3,4,5))
listRDD.collect().foreach(println)
2.将第1小题中的RDD的每个元素加2,打印出前3个元素。
val addedRDD = listR禁止使用网挣网盘p(_ + 2)
addedRDD.take(3).foreach(println)
3.有一个包含了学生姓名的数组Array("Jim","Tom","Jim","Jerry","John","Jim","Tom"),通过RDD去除重复的名字,打印出去重后的RDD元素。
val studentArray = Array("Jim","Tom","Jim","Jerry","John","Jim","Tom")
val studentRDD = sc.parallelize(studentArray)
val distinctRDD = studentRDD.distinct()
distinctRDD.collect().foreach(println)
4.通过RDD计算第3小题的数组中有多少个元素以字母'J'开头,打印RDD元素个数。
val countRDD = distinctRDD.filter(_.startsWith("J"))
val count = countRDD.count()
println(count)
5.考试文档中的recode.txt文件中包含了商品被点击的记录,其中第一个字段是点击时间,第二个字段是商品ID,将文件数据读取到RDD中,使用合适的算子统计每件商品被点击的次数。
val dataRDD = sc.textFile("recode.txt")
val countRDD = dataR禁止使用网挣网盘p(line => (line.split("\t")(1), 1))
val itemClickCountRDD = countRDD.reduceByKey(_ + _)
itemClickCountRDD.collect().foreach(println)
6.考试文档中的student.txt文件记录了大数据技术专业2个班同学的《spark实时数据处理技术》课程成绩,数据结构为【学号,姓名,班级,成绩】,读取文件数据用来创建DataFrame,将DataFrame中所有数据打印出来。
import org.apache.spark.sql.{SparkSession, DataFrame}
val spark = SparkSession.builder().appName("Example").master("local").getOrCreate()
val studentDF = spark.read.format("csv").option("header", "false").load("student.txt")
studentDF.show()
7.使用第6小题的DataFrame,统计出及格的学生人数并打印出来。
val passCount = studentDF.filter("_c3 >= 60").count()
println(passCount)
8.使用第6小题的DataFrame,统计每个班的平均分并打印出来。
studentDF.groupBy("_c2").avg("_c3").show()
9.使用第6小题的DataFrame,计算出1班排名前3的学生信息并打印出来。
import org.apache.spark.sql.functions._
val rankDF = studentDF.filter("_c2 = '1'").orderBy(desc("_c3"))
rankDF.show(3)
10.使用第6小题的DataFrame,查询出不及格的学生,并将学生信息导出为csv文件。
val failDF = studentDF.filter("_c3
jack98 发表于 2023-9-27 18:45
1.使用List(1,2,3,4,5)创建RDD,并将所有元素打印出来。
import org.apache.spark.{SparkConf, SparkConte ...

《禁止使用网挣网盘》这个是什么?
wbq111
OP
  

图片可以点击放大,你再看看,能不能解决问题~
您需要登录后才可以回帖 登录 | 立即注册

返回顶部