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

一、例题

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

三、实验结果

 

 

网站建设定制开发 软件系统开发定制 定制软件开发 软件开发定制 定制app开发 app开发定制 app开发定制公司 电商商城定制开发 定制小程序开发 定制开发小程序 客户管理系统开发定制 定制网站 定制开发 crm开发定制 开发公司 小程序开发定制 定制软件 收款定制开发 企业网站定制开发 定制化开发 android系统定制开发 定制小程序开发费用 定制设计 专注app软件定制开发 软件开发定制定制 知名网站建设定制 软件定制开发供应商 应用系统定制开发 软件系统定制开发 企业管理系统定制开发 系统定制开发