zoukankan      html  css  js  c++  java
  • 2020寒假学习记录(12)——实验4-3

    一、编写独立应用程序实现求平均值问题

    每个输入文件表示班级学生某个学科的成绩,每行内容那个由两个字段组成,第一个使学生名字,第二个是学生成绩;编写spark独立应用程序求出所有学生的平均成绩,并输出到一个新文件中。

    供参考。
    Algorithm 成绩:
    小明 92
    小红 87
    小新 82
    小丽 90
    Database 成绩:
    小明 95
    小红 81
    小新 89
    小丽 85
    Python 成绩:
    小明 82
    小红 83
    小新 94
    小丽 91
    平均成绩如下:
    (小红,83.67)
    (小新,88.33)
    (小明,89.67)
    (小丽,88.67)
     
    源代码如下:
    import org.apache.spark.SparkContext
    import org.apache.spark.SparkContext._
    import org.apache.spark.SparkConf
    import org.apache.spark.HashPartitioner
    
    object SimpleApp
    {
          def main(args:Array[String])
    {
          val conf = new SparkConf().setAppName("SimpleApp")
    val sc = new SparkContext(conf)
          val dataFile = "file:///usr/local/spark/input2"
          val data = sc.textFile(dataFile,3)
    
          val res=data.filter( _.trim().length>0).map(line=>(line.split(" ")(0).trim(),line.split(" ")(1).trim().toInt)).partitionBy(new HashPartitioner(1)).groupByKey().map(x=>{
    var n=0
    var sum=0.0
          for(i<-x._2){
          sum=sum+i
          n=n+1
          }
    
          val avg=sum/n 
    
          val format=f"$avg%1.2f".toDouble
          (x._1,format)})
    
          res.saveAsTextFile("/home/hadoop/result")
    }
    }

  • 相关阅读:
    php $_SERVER 中的 QUERY_STRING和REQUEST_URI
    php 弱类型比较
    php函数漏洞
    web源码泄露
    sqlmap 基本使用步骤(一)
    php 调用远程url
    $_POST 和 php://input 的区别
    poj 3461 Oulipo (KMP入门)
    hdu 5417 Victor and Machine
    HDU 1885 Key Task (bfs)
  • 原文地址:https://www.cnblogs.com/Qi77/p/12320957.html
Copyright © 2011-2022 走看看