Spark小实例——求文件中的最大值和最小值(IDEA实现)
Posted
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark小实例——求文件中的最大值和最小值(IDEA实现)相关的知识,希望对你有一定的参考价值。
Spark小实例——求文件中的最大值和最小值(IDEA实现)1、所需软件
IDEA开发工具
HDFS分布式文件系统(可选项)
spark-2.1.1-bin-hadoop2.7(版本可自选)
2、所需文件(自定义数据即可)
比如:
3、准备IDEA的环境
首先创建项目
导入所需的JAR文件(spark-2.1.1-bin-hadoop2.7)
4、编写Spark程序(创建scala文件)
代码如下:
import org.apache.spark.{SparkConf, SparkContext}
object MAXandMIN {
def main(args: Array[String]): Unit = {
val conf = new SparkConf().setAppName("MAX and MIN").setMaster("local")
//生成sc对象
val sc = new SparkContext(conf)
//设置日志输出格式
sc.setLogLevel("ERROR")
//2为设置2个分区
val lines = sc.textFile("hdfs://192.168.169.200:9000/2020/rdd/test/shuzi.txt",2)
//过滤没有内容的行
val result = lines.filter(_.trim().length > 0)
//遍历每一个元素生成key,value的形式
.map(line => ("key",line.trim.toInt))
//把key相同的键值对的value构成value-list
.groupByKey()
.map(x => {
var min = Integer.MAX_VALUE
var max = Integer.MIN_VALUE
for (num <- x._2) {
if (num > max) {
max = num
}
if (num < min) {
min = num
}
}
//封装成元组
(max,min)
})
//收集遍历
.collect.foreach(x => {
//打印结果
println("max:" + x._1)
println("min:" + x._2)
})
}
}
结果为:
以上是关于Spark小实例——求文件中的最大值和最小值(IDEA实现)的主要内容,如果未能解决你的问题,请参考以下文章