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()
      }

     总结:

  • 相关阅读:
    101. Symmetric Tree
    mfc实现对话框全屏置顶显示
    qq截图原理
    给对话框添加颜色
    mfc设置半透明对话框
    API介绍
    列表控件学习1
    VC++、MFC
    vs2010 产品密钥
    VS2008 视图资源.rc无法加载的问题及解决方法
  • 原文地址:https://www.cnblogs.com/dazhi151/p/14257504.html
Copyright © 2011-2022 走看看