一、例题

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

三、实验结果

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

  1. 有两个磁盘文件 A 和 B, 各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件 C 中

    fp = open('test1.txt', encoding='utf8') a = fp.read() fp.close()fp = open('test2.txt', encoding='utf ...

  2. python现有两个磁盘文件a和b_有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中Python实例...

    有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并(按字母顺序排列), 输出到一个新文件C中Python实例 题目:有两个磁盘文件A和B,各存放一行字母,要求把这两个文件中的信息合并( ...

  3. 假设Linux系统中不存在文件newfile,现要创建一个新文件newfile,以下哪个命令无法实现该功能。...

    要创建一个新文件newfile,可以使用Linux系统中的touch命令.例如: touchnewfile 这样就可以在Linux系统中创建一个名为newfile的空文件了. 如果使用的是cp命令,那 ...

  4. 用python创建一个新文件_Python创建文件和追加文件内容实例

    一.用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行: 代码如下: #python >>>f=open('f.txt','w') # r只读,w可写,a追加 &g ...

  5. 将类的定义放在头文件中,把成员函数的实现代码放在一个cpp文件中

    将类的定义放在头文件中,把成员函数的实现代码放在一个cpp文件中 写这种.h和.cpp文件分开的大程序,虽然对很多人来说很简单,对自己来说算是第一次吧,好好学C++,加油~ 题目:定义Point类,由 ...

  6. 将文件中所有数读到一个数组中_「数据结构与算法」将5个文件中的一千万年龄合并到一个新文件中...

    现在有5个文件,文件里面分别存储着1千万个用户年龄,并且每个文件中的年龄都是有序的(从小到大),现在需要将这5个文件整合到一个文件中,新文件的内容依然要保持有序(从小到大). 初始化数据 1.数据生成 ...

  7. 3.1.5 spark体系之分布式计算-scala编程-scala中的集合(数组array、list、set、map、元组)

    目录 1.数组 Array 1.1 创建数组 1.2 concat 方法 1.3 遍历和其他方法 1.4 定义可变数组:ArrayBuffer,第一个是后加,第二个是头加,第三个是追加多个 2.lis ...

  8. 服务器所属文件变成nobody,NFS(expirtfs命令,NFS客户端创建新文件所属组和所属主都为nobody)(示例代码)...

    一.exportfs命令 nfs进程不能随便从新启动,如果不得已要重启,必须把客户端的挂载目录卸载,然后在从新启动. 这时候就可以用exportfs命令 -a             全部挂载或者全部 ...

  9. Shell-AWK命令分割文件内容并写入新文件(合并文件)

    awk -F '\t'  'NR>900000 {print $1"\r\n"$2}' 2019050802-1800000.txt > result_2.txt 分隔 ...

最新文章

  1. wget下载https时遇到not trusted下载不了的解决办法
  2. 7-21 求前缀表达式的值
  3. kaggle House_Price_XGBoost
  4. 如何查看oracle数据库集群哪个节点正在使用,windows oracle 怎么查看集群状态
  5. html模板(base标签,meta标签,禁用浏览器缓存)+JSP自定义标签荔枝
  6. hp服务器硬盘ultra320,惠普/hp 300GB 1.5万转 3.5寸 SAS服务器硬盘 P/N:431944-B21
  7. html页面酷炫,5个酷炫、实用的HTML标签和属性介绍
  8. matlab预测1人均gdp,基于时间序列模型下河南人均GDP的预测分析
  9. Vue 简单人脸识别
  10. 乔布斯斯坦福大学演讲英文原文
  11. 测试模板:Showcase规范和流程
  12. 述职答辩提问环节一般可以问些什么_01、述职答辩操作流程指引
  13. 2014年实习生招聘之腾讯实习生招聘面试(一面)—2014/04/01
  14. 网易云信技术创新,助力网易云音乐社交玩法升级
  15. 我以为自己MySQL够牛逼了,直到被腾讯面试官狠狠抽了两巴掌
  16. 测试用例模板(通用)
  17. 构筑自有流量池,电商宝SCRM(微信公众号和个人号管家)助力企业打赢粉丝争夺战...
  18. 金融计算器 npv_CFA考试用什么计算器?怎么操作?
  19. 苹果、微软合作推新版iCloud for Windows app
  20. B站_千锋2020MySQL_6.04练习题

热门文章

  1. unity_Text文本和图片组合
  2. Git报错解决:remote: error: File:1f6cc8452313 157.10 MB, exceeds 100.00 MB
  3. 百度搜索URL中的参数都是什么
  4. 求支援!单身盆友看过来|「如何用大数据算法找对象?」
  5. python:statistics --- 数学统计函数
  6. Java 使用Docx4j实现word文档Docx格式转Doc格式
  7. se 2.4 path 小记。
  8. 中国iaas产业2012年度点评
  9. mysql json_extract用法,【MySQL】json_extract解析json
  10. 微信小程序开发拼图小游戏