php做网站开源项目,济南网站建设内容设计,什么购物软件好用,中国创业商机网1、九九乘法表 在下面的单元格中编写Scala程序#xff0c;输出上三角形的九九乘法表#xff0c;并运行。 for (i - 1 to 9 reverse) {for (j - 1 to i) {print(s$j x $i ${i * j}\t)}println()
}
2、单词计数 在下面的若干单元格中编写Spark程序#…1、九九乘法表 在下面的单元格中编写Scala程序输出上三角形的九九乘法表并运行。 for (i - 1 to 9 reverse) {for (j - 1 to i) {print(s$j x $i ${i * j}\t)}println()
}
2、单词计数 在下面的若干单元格中编写Spark程序对test.txt中的单词计数并输出统计结 果。 test.txt的内容为下面三行: Life would be too smooth if it had no rubs in it Life is the art of drawing sufficient conclusions form insufficient premises The wealth of the mind is the only wealth import org.apache.spark.sql.SparkSessionobject WordCount {def main(args: Array[String]): Unit {val spark SparkSession.builder().appName(WordCount).getOrCreate()val textFile spark.sparkContext.textFile(test.txt)val words textFile.flatMap(_.split(\\W))val wordCounts words.map(word (word, 1)).reduceByKey(_ _)wordCounts.foreach(println)spark.stop()}
}// 程序入口点
WordCount.main(Array())
3、DataFrame 在下面的若干单元格中编写Spark程序利用grade.csv创建Spark SQL DataFrame。 header参数用于指示csv文件中是否包含标题行。如果设置为True则SPamk会券试将第一行作为列名使用。 inferSchema参数如果设置为TrueSpark会自动尝试推断每列的数据类型。 (1)统计行数。 (2)筛选Python,Java,scala都不低手85的行。 (3)分班级统计各门课程的平均分。 import org.apache.spark.sql.SparkSession
import org.apache.spark.sql.functions._object GradeAnalysis {def main(args: Array[String]): Unit {val spark SparkSession.builder().appName(GradeAnalysis).getOrCreate()// 加载CSV文件并创建DataFrameval gradeDF spark.read.option(header, true) // 指示CSV文件中包含标题行.option(inferSchema, true) // 自动推断列的数据类型.csv(grade.csv)// (1) 统计行数val rowCount gradeDF.count()println(sTotal number of rows: $rowCount)// (2) 筛选Python, Java, Scala成绩都不低于85的行val highAchievers gradeDF.filter((col(Python) 85) (col(Java) 85) (col(Scala) 85))println(Students with grades above 85 in all three subjects:)highAchievers.show()// (3) 分班级统计各门课程的平均分val classAverages gradeDF.groupBy(Class).agg(mean(Python).as(Python_Avg),mean(Java).as(Java_Avg),mean(Scala).as(Scala_Avg))println(Class averages for each subject:)classAverages.show()spark.stop()}
}
4、Graphx属性图 在下面的若干单元格中编写Spark程序利用下图创建Graphx属性图并完成 (1)输出图的顶点信息和边信息。 (2)找出属性为PI的边 。 (3)找出属性为professor的顶点。 import org.apache.spark.{SparkConf, SparkContext}
import org.apache.spark.graphx.{Edge, Graph, VertexId}
import org.apache.spark.rdd.RDDobject GraphXExample {def main(args: Array[String]): Unit {val conf new SparkConf().setAppName(GraphX Example)val sc new SparkContext(conf)// 假设的顶点数据val vertices: RDD[(VertexId, (String, String))] sc.parallelize(Seq((1L, (Alice, student)),(2L, (Bob, student)),(3L, (Charlie, professor))// 添加更多顶点...))// 假设的边数据val edges: RDD[Edge[(String, String)]] sc.parallelize(Seq(Edge(1L, 3L, (enrolled, CS101)),Edge(2L, 3L, (enrolled, CS102)),// 添加更多边...))// 创建GraphX的Graph对象val graph Graph(vertices, edges)// (1) 输出图的顶点信息和属性println(Vertices and their attributes:)graph.vertices.collect().foreach {case (vid, (name, attr)) println(sVertex $vid: Name $name, Attribute $attr)}// (2) 输出属性为enrolled的边println(\nEdges with enrolled attribute:)graph.edges.filter(e e.attr._1 enrolled).collect().foreach {case Edge(src, dst, attr) println(sEdge from Vertex $src to $dst with Attribute $attr)}// (3) 输出属性为professor的顶点println(\nVertices with professor attribute:)graph.vertices.filter { case (_, (_, attr)) attr professor }.collect().foreach {case (vid, (_, _)) println(sVertex $vid is a professor)}sc.stop()}
}// 运行程序
GraphXExample.main(Array())