zoukankan      html  css  js  c++  java
  • spark学习进度10(阶段练习)

    阶段练习

    一、看看数据集格式

    二、明确需求

    三、明确步骤

      1、读取文件

      2、抽取需要的列

      3、以年月为基础,进行reduceByKey统计东四地区的PM

      4、排序

      5、获取结果

    四、编码

      1、拷贝数据集

      2、创建类

      3、编写代码

      4、运行测试

     @Test
      def reduce():Unit={
        //创建sc对象
        val conf=new SparkConf().setMaster("local[6]").setAppName("stage_practice")
        val sc=new SparkContext(conf)
        //读取文件
        val source=sc.textFile("dataset/BeijingPM20100101_20151231_noheader.csv")
        //通过算子处理数据
        //1、抽取数据,年、月、PM(年月放一起)((年,月),Pm)
        source.map(item=>((item.split(",")(1),item.split(",")(2)),item.split(",")(6)))
        //2、清洗,过滤掉空的和NA
          .filter(item=>StringUtils.isNoneEmpty(item._2) && !item._2.equalsIgnoreCase("NA"))
        //3、聚合
          .map(item=>(item._1,item._2.toInt))
          .reduceByKey((curr,agg)=>curr+agg)
        //4、排序
          .sortBy(item=>item._2,ascending = false)//为false之后就是降序显示了
        //获取结果
          .take(10)
          .foreach(item=>println(item))
        //关闭测试
        sc.stop()
      }

     总结:

  • 相关阅读:
    水杯倒水问题
    判断算24
    困难串
    Hadoop环境搭建
    GWT+Hadoop+Hbase搭建(转)
    Vector与ArrayList的区别
    Java+Eclipse 环境配置
    关于颜色的宏定义.
    xnatouch for iphone!!
    What's new iphone 3GS
  • 原文地址:https://www.cnblogs.com/dazhi151/p/14257504.html
Copyright © 2011-2022 走看看