zoukankan      html  css  js  c++  java
  • 2020.02.10

    1.spark-shell 交互式编程

    请到本教程官网的“下载专区”的“数据集”中下载 chapter5-data1.txt,该数据集包含 了某大学计算机系的成绩,数据格式如下所示:

    请根据给定的实验数据,在 spark-shell 中通过编程来计算以下内容:

    (1)该系总共有多少学生;

    (2)该系共开设来多少门课程;

    (3)Tom 同学的总成绩平均分是多少

    (4)求每名同学的选修的课程门数;

    (5)该系 DataBase 课程共有多少人选修;

    (6)各门课程的平均分是多少;

    (7)使用累加器计算共有多少人选了 DataBase 这门课。

    2.编写独立应用程序实现数据去重

    对于两个输入文件 A 和 B,编写 Spark 独立应用程序,对两个文件进行合并,并剔除其 中重复的内容,得到一个新文件 C。下面是输入文件和输出文件的一个样例,供参考。

    输入文件 A 的样例如下:

    20170101    x

    20170102    y

    20170103    x

    20170104    y

    20170105    z

    20170106    z

    输入文件 B 的样例如下:

    20170101    y

    20170102    y

    20170103    x

    20170104    z

    20170105    y

    根据输入的文件 A 和 B 合并得到的输出文件 C 的样例如下:

    20170101    x

    20170101    y

    20170102    y

    20170103    x

    20170104    y

    20170104    z

    20170105    y

    20170105    z

    20170106    z

    import org.apache.spark.SparkContext
    import org.apache.spark.SparkContext._
    import org.apache.spark.SparkConf
    import org.apache.spark.HashPartitioner
     
    object RemDup
    {
        def main(args:Array[String])
        {
            val conf = new SparkConf().setAppName("RemDup")
            val sc = new SparkContext(conf)
            val dataFile = "file:///usr/local/spark/sparksqldata/data4_2"
            val data = sc.textFile(dataFile,2)
            val res = data.filter(_.trim().length>0).map(line=>(line.trim,"")).partitionBy(new HashPartitioner(1)).groupByKey().sortByKey().keys
            res.saveAsTextFile("result")
        }
    }

  • 相关阅读:
    更改文件、图片名称思路,我们的名字在以后添加_2等待
    UIStepper使用的具体解释的控制
    ArcSDE10.1配置Oracle 监听器来使用SQL操作ST_Geometry(个人改动版)
    SDE ST_Geometry SQL st_intersects查询很慢的解决方法
    通过SQL直接插入、修改ArcGIS SDE空间表中的数据
    使用POI读写word docx文件
    Weblogic读不到Word文件
    POI写Word换行
    使用POI转换word doc文件
    POI生成Web版Word文件
  • 原文地址:https://www.cnblogs.com/zql98/p/12298497.html
Copyright © 2011-2022 走看看