zoukankan      html  css  js  c++  java
  • 2、最高气温和wordcount 命令行下

    最高气温

    1、上传温度数据文件到HDFS

    hdfs dfs -put temp3.dat /

    2、求最高、最低、平均温度

    方式一,无reduceByKey

    val rdd1 = sc.textFile("/temp3.dat")
    val rdd2 = rdd1.map(s=>{val ss = s.split(" ");(ss(0).toInt,ss(1).toInt)})
    val rdd3 = rdd2.groupByKey
    val rdd4 = rdd3.mapValues(i=>(i.max,i.min,i.sum/i.size.toDouble))
    val rdd5 = rdd4.sortByKey(true)
    val lst = rdd5.collect
    lst.foreach(println)

    方式二,有reduceByKey

    val rdd1 = sc.textFile("/temp3.dat")
    val rdd2 = rdd1.map(s=>{val ss = s.split(" ");(ss(0).toInt,(ss(1).toInt,ss(1).toInt,ss(1).toInt,1))})
    val rdd3 = rdd2.reduceByKey((a,b)=>(math.max(a._1,b._1),math.min(a._2,b._2),a._3 + b._3,a._4 + b._4))
    val rdd4 = rdd3.mapValues(t=>(t._1,t._2,t._3/t._4.toDouble))
    val rdd5 = rdd4.sortByKey(true)
    val lst = rdd5.collect
    lst.foreach(println)

    wordcount

    1、上传文本文件到HDFS

    hdfs dfs -put www /

    2、单词统计

    val rdd1 = sc.textFile("/www")
    val rdd2 = rdd1.flatMap(_.split("	"))
    val rdd3 = rdd2.map((_,1))
    val rdd4 = rdd3.reduceByKey(_ + _)
    val rdd5 = rdd4.sortBy(_._2)
    val lst = rdd5.collect
    lst.foreach(println)
    渐变 --> 突变
  • 相关阅读:
    设计模式
    LintCode 数组(一)
    LintCode 字符串(二)
    LintCode 字符串(一)
    Java 多线程---volatile, ThreadLocal
    HTTP之缓存首部
    HTTP之首部
    HTTP之状态码
    web安全之XSS和CSRF
    web安全之同源策略
  • 原文地址:https://www.cnblogs.com/lybpy/p/9762627.html
Copyright © 2011-2022 走看看