RDD转换操作算子 --- filter(过滤)、sample(取样)、distinct(去重)

网友投稿 262 2022-11-29

RDD转换操作算子 --- filter(过滤)、sample(取样)、distinct(去重)

RDD转换操作算子 — filter、sample

filter 可以过滤一部分的元素,达到数据清洗的效果

filter 中接受的函数,参数是每一个元素。如果函数返回的为true,就将该元素加入到新的RDD中,为false就会被过滤掉

@Test def filterTest: Unit ={ //创建数据集,利用filter清洗数据 --- 取奇数 val source = sc.parallelize(Seq(1,2,3,4,5,6,7,8,9,10)) //调用filter source.filter(item => item % 2 != 0) .collect() .foreach(item => println(item)) }13579

sample 算子可以从一个大数据集中抽取一部分样例,常用作减小数据集以保证运行速度,并且尽可能地减小规律的损失

withReplacement: 是否有放回。 true — 抽样有重复 false — 抽样不重复fraction: 抽样比例seed: 随机种子

@Test def sampleTest: Unit ={ val rdd1 = sc.parallelize(Seq(0,1,2,3,4,5,6,7,8,9,10)) val rdd2 = rdd1.sample(true,0.6) val result = rdd2.collect() result.foreach( item => println(item)) }

distinct:对RDD中的元素进行去重。

@Test def distinct(): Unit ={ val a = sc.parallelize(Seq(1,2,3,4)) val b = sc.parallelize(Seq(3,4,5,6)) val dt= a.union(b).distinct() .collect() dt.foreach(println(_)) } 1 2 3 4 5 6

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:java爬虫.HttpClient.Get请求
下一篇:SpringMVC中如何获取@PathVariable的值
相关文章

 发表评论

暂时没有评论,来抢沙发吧~