• 首页 首页 icon
  • 工具库 工具库 icon
    • IP查询 IP查询 icon
  • 内容库 内容库 icon
    • 快讯库 快讯库 icon
    • 精品库 精品库 icon
    • 问答库 问答库 icon
  • 更多 更多 icon
    • 服务条款 服务条款 icon

Spark-RDD使用IDEA-Scala编程练习题对于两个输入文件A和B,编写spark独立应用程序,对两个文件进行合并,并剔除其重复的内容,得到新文件c。

武飞扬头像
每天八杯水D
帮助1

一、例题

对于两个输入文件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

二、代码

  1.  
    import org.apache.spark.{SparkConf, SparkContext}
  2.  
     
  3.  
    object distinctTwoFile {
  4.  
    def main(args: Array[String]): Unit = {
  5.  
    //1、创建SparkConf对象,该对象初始化一些数据,如该scala代码程序的名字,连接到主节点master的url地址
  6.  
    val sparkConf = new SparkConf().setMaster("local").setAppName("WordCount")
  7.  
     
  8.  
    //2、创建SparkContext对象,该对象时应用程序提交到spark进行计算运行的唯一入口
  9.  
    val sc = new SparkContext(sparkConf)
  10.  
     
  11.  
    //通过textFile函数获取数据,同时把数据分割为一行一行,每个数据节点存储一定行数的数据,lines-RDD就是代表这些行的的名字
  12.  
    val A = sc.textFile("D://scala-spark-rdd/data/A.txt")
  13.  
    val B = sc.textFile("D://scala-spark-rdd/data/B.txt")
  14.  
     
  15.  
    //使用算子union()可以合并两个相同形式的文件数据
  16.  
    //distinct()函数是去除RDD里面重复的数据
  17.  
    //sortBY()函数是根据第一个参数来排序,第二个参数true代表升序
  18.  
    val C = A.union(B).distinct().sortBy(x => x,true)
  19.  
    C.foreach(println)
  20.  
     
  21.  
    sc.stop()
  22.  
    }
  23.  
    }
学新通

三、实验结果

学新通

这篇好文章是转载于:学新通技术网

  • 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
  • 本站站名: 学新通技术网
  • 本文地址: /boutique/detail/tanhgabegi
系列文章
更多 icon
同类精品
更多 icon
继续加载