Spark-RDD使用IDEA-Scala编程练习题对于两个输入文件A和B,编写spark独立应用程序,对两个文件进行合并,并剔除其重复的内容,得到新文件c。
一、例题
对于两个输入文件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()
-
}
-
}
三、实验结果
这篇好文章是转载于:学新通技术网
- 版权申明: 本站部分内容来自互联网,仅供学习及演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系,请提供相关证据及您的身份证明,我们将在收到邮件后48小时内删除。
- 本站站名: 学新通技术网
- 本文地址: /boutique/detail/tanhgabegi
系列文章
更多
同类精品
更多
-
photoshop保存的图片太大微信发不了怎么办
PHP中文网 06-15 -
《学习通》视频自动暂停处理方法
HelloWorld317 07-05 -
word里面弄一个表格后上面的标题会跑到下面怎么办
PHP中文网 06-20 -
Android 11 保存文件到外部存储,并分享文件
Luke 10-12 -
photoshop扩展功能面板显示灰色怎么办
PHP中文网 06-14 -
微信公众号没有声音提示怎么办
PHP中文网 03-31 -
excel下划线不显示怎么办
PHP中文网 06-23 -
excel打印预览压线压字怎么办
PHP中文网 06-22 -
TikTok加速器哪个好免费的TK加速器推荐
TK小达人 10-01 -
怎样阻止微信小程序自动打开
PHP中文网 06-13