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

     总结:

  • 相关阅读:
    LF.25.K Smallest In Unsorted Array
    LC.102. Binary Tree Level Order Traversal
    LF.236.Search Insert Position
    发生错误 1069 sqlserver
    manualresetevent的用法学习
    xml selectnodes
    Flask 路由 , 初始化 , 配置Config , 蓝图BluePrint , 装饰器
    Python垃圾回收机制
    Odoo 动作Action
    Odoo 权限简介
  • 原文地址:https://www.cnblogs.com/dazhi151/p/14257504.html
Copyright © 2020-2023  润新知