irpas技术客

云计算 Spark实验_呜呼拉哈_spark实验

未知 3795

云计算Spark实验 实验环境1.spark-shell交互式编程。2.使用sbt对Scala独立应用程序进行编译打包,并在spark中运行

实验环境

Ubuntu 18.04 Spark 3.1.2 Java JDK 1.8 实验环境搭建参考林子雨老师的教程 Spark搭建(内含hadoop环境搭建链接)http://dblab.xmu.edu.cn/blog/2501-2/

/ 本实验较多内容根据林子雨老师的教程完成,包括spark-shell的入门使用,sbt的安装与基础操作,所以一定要结合给出的林子雨老师的教程分享

/

1.spark-shell交互式编程。

根据给定数据集(数据集是一个成绩单,每行的数据格式为 “姓名,课程名称,分数”) 输出该系有多少学生,多少课程

val data = sc.textFile("file:///home/hadoop/下载/data1.txt") #读取文件,file:///后面是数据集所在的路径 val count_student = data.map(line=>line.split(",")(0)).distinct().count #求学生个数 val count_course = data.map(line=>line.split(",")(1)).distinct().count #求课程个数 2.使用sbt对Scala独立应用程序进行编译打包,并在spark中运行

题目:编写应用程序,计算该系共开设了哪几门课程

解答:按照林子雨老师的流程,把SRC中的代码修改为

/* SimpleApp.scala */ import org.apache.spark.SparkContext import org.apache.spark.SparkContext._ import org.apache.spark.SparkConf object SimpleApp { def main(args: Array[String]) { val logFile = "file:///home/hadoop/下载/data1.txt" // 这里file:/// 后面是数据集所在的路径 val conf = new SparkConf().setAppName("Simple Application") val sc = new SparkContext(conf) val data = sc.textFile(logFile, 2).cache() val course = data.map(line=>line.split(",")(1)).distinct() course.repartition(1).saveAsTextFile("file:///home/hadoop/sparkapp/output")//这里file:/// 后面是输出文件保存的路径。 // .repartition(1) 是为了保证输出的内容保存在一个文件里面 } }

//代码好像不支持中文注释,引用时注意删除 注意在提交运行的时候,由于Scala 的版本不同,生成的scala文件夹和jar包名字也会有所不同,需要作对应的修改。


1.本站遵循行业规范,任何转载的稿件都会明确标注作者和来源;2.本站的原创文章,会注明原创字样,如未注明都非原创,如有侵权请联系删除!;3.作者投稿可能会经我们编辑修改或补充;4.本站不提供任何储存功能只提供收集或者投稿人的网盘链接。

标签: #spark实验 #1804Spark #312Java #jdk