zoukankan      html  css  js  c++  java
  • spark练习--统计xxx大学的各个少数名族的情况

    最近,有一份数据,是关于学校的数据,这个里面有所有学生的信息,今天闲来没事,我就想用spark的方式来读取文件,并且来统计这个学校的各个民族的情况,以前我用hadoop中mapReduce来计算,不得不说,又麻烦计算速度又慢
    首先,我们先看看这份数据长什么样子?

      

    我在这个操作的时候,以为数据都是全的,没想到这个有一行的数据缺了几个,当时在mapReduce,缺了的话,对数据也没影响,还是能照样跑,但是这个不行,spark里面直接报数据越界的异常,所以我就提前判断了一下长度

    package cn.wj.spark.day07
    
    import org.apache.spark.{SparkConf, SparkContext}
    
    /**
      * Created by WJ on 2017/1/5.
      */
    //要善于解决数据的不匹配的关系
    object myXJDX {
      def main(args: Array[String]): Unit = {
        val conf = new SparkConf().setAppName("myXJDX").setMaster("local")
        val sc = new SparkContext(conf)
        val rdd1 = sc.textFile("E://Test/xjdx.txt").map(line => {
          val fields = line.split(",")
          if (fields.length >= 10) {
            val mz = line.split(",")(10)
            (mz, 1)
          }else{
            (1,1)
          }
        })
        var rdd2 = rdd1.reduceByKey(_ + _)
        println(rdd2.collect().toBuffer)
      }
    }

    很简单的一段代码,不过有些时候越是简单的东西,就需要多动手

      

  • 相关阅读:
    websocketpp相关
    大地水准面、大地基准面
    ubuntu18.04 和 qt 5.13.1 安装
    高斯——克吕格投影反算
    高斯——克吕格投影正算
    缓和曲线10麦克康奈尔
    vsCode 需安装的扩展
    显示windows电脑上已连接过的wifi密码
    linux Java项目CPU内存占用高故障排查
    tcpdump常用参数说明及常见操作
  • 原文地址:https://www.cnblogs.com/wnbahmbb/p/6254100.html
Copyright © 2011-2022 走看看