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实现)的主要内容,如果未能解决你的问题,请参考以下文章

如何求数组的最大值和最小值

数学函数区间的最小值与最大值怎么算

7-15 求最大值 (15 分) 判断5个数中的最大值 输入格式: 输入5个整数,求最大数。 处理到文件结束

怎样用numpy找出数组里最大与最小值

SQL分组查询最大值最小值

求数组最大的前两个数,要求比较次数尽可能少