大数据Spark(六十九):Transformation转换算子intersection和subtract使用案例

文章目录

Transformation转换算子intersection和subtract使用案例

一、intersection使用案例

二、subtract使用案例


Transformation转换算子intersection和subtract使用案例

一、intersection使用案例

取两个RDD数据集的交集。

注意:返回新的RDD分区数与父RDD分区多的一致。

Java代码:

java 复制代码
SparkConf conf = new SparkConf().setMaster("local").setAppName("IntersectionTest");
JavaSparkContext sc = new JavaSparkContext(conf);

JavaRDD<String> rdd1 = sc.parallelize(Arrays.asList("a","b","c","d"), 3);
JavaRDD<String> rdd2 = sc.parallelize(Arrays.asList("c","d","e","f"), 4);

//intersection算子:对两个RDD进行intersection操作,返回一个新的RDD,RDD的分区数与父RDD分区数多的保持一致。
JavaRDD<String> rdd3 = rdd1.intersection(rdd2);
System.out.println("rdd3 分区数:" + rdd3.getNumPartitions());

rdd3.foreach(x-> System.out.println(x));

sc.stop();

Scala代码:

Scala 复制代码
val conf: SparkConf = new SparkConf().setMaster("local").setAppName("IntersectionTest")
val sc = new SparkContext(conf)
val rdd1: RDD[String] = sc.parallelize(List("a", "b", "c", "d"), 4)
val rdd2: RDD[String] = sc.parallelize(List("c", "d", "e", "f"), 3)

//intersection算子:对两个RDD进行intersection操作,返回一个新的RDD,RDD的分区数与父RDD分区数多的保持一致。
val rdd3: RDD[String] = rdd1.intersection(rdd2)
println(s"rdd3 分区数:${rdd3.getNumPartitions}")

rdd3.foreach(println)

sc.stop()

二、subtract使用案例

取两个RDD数据集的差集,rdd1.subtract(rdd2):返回rdd1中有但rdd2中没有的元素。

注意:生成RDD的分区数与subtract前面的RDD的分区数一致。

Java代码:

java 复制代码
SparkConf conf = new SparkConf().setMaster("local").setAppName("SubtractTest");
JavaSparkContext sc = new JavaSparkContext(conf);

JavaRDD<String> rdd1 = sc.parallelize(Arrays.asList("a","b","c","d"), 3);
JavaRDD<String> rdd2 = sc.parallelize(Arrays.asList("c","d","e","f"), 4);

//subtract算子:对两个RDD进行取差集操作,返回一个新的RDD,RDD的分区数与父RDD分区数多的保持一致。
JavaRDD<String> rdd3 = rdd1.subtract(rdd2);
System.out.println("rdd3 分区数:" + rdd3.getNumPartitions());
rdd3.foreach(x-> System.out.println(x));
sc.stop();

Scala代码:

java 复制代码
val conf: SparkConf = new SparkConf().setMaster("local").setAppName("SubtractTest")
val sc = new SparkContext(conf)

val rdd1: RDD[String] = sc.parallelize(List("a", "b", "c", "d"), 3)
val rdd2: RDD[String] = sc.parallelize(List("c", "d", "e", "f"), 4)

//subtract算子:对两个RDD进行取差集操作,返回一个新的RDD,生成RDD的分区数与subtract前面的RDD的分区数一致。
val rdd3: RDD[String] = rdd1.subtract(rdd2)
println(s"rdd3 分区数:${rdd3.getNumPartitions}")

rdd3.foreach(println)
sc.stop()

  • 📢博客主页:https://lansonli.blog.csdn.net
  • 📢欢迎点赞 👍 收藏 ⭐留言 📝 如有错误敬请指正!
  • 📢本文由 Lansonli 原创,首发于 CSDN博客🙉
  • 📢停下休息的时候不要忘了别人还在奔跑,希望大家抓紧时间学习,全力奔赴更美好的生活✨
相关推荐
会算数的⑨20 分钟前
Kafka知识点问题驱动式的回顾与复习——(一)
分布式·后端·中间件·kafka
张小凡vip23 分钟前
Kafka--使用 Kafka Connect 导入/导出数据
分布式·kafka
无忧智库32 分钟前
某市“十五五“知识产权大数据监管平台与全链条保护系统建设方案深度解读(WORD)
大数据·人工智能
回忆是昨天里的海33 分钟前
kafka概述
分布式·kafka
知识即是力量ol36 分钟前
初识 Kafka(一):分布式流平台的定义、核心优势与架构全景
java·分布式·kafka·消息队列
综合热讯36 分钟前
股票融资融券交易时间限制一览与制度说明
大数据·人工智能·区块链
华农DrLai38 分钟前
Spark SQL Catalyst 优化器详解
大数据·hive·sql·flink·spark
Pluchon42 分钟前
硅基计划4.0 算法 简单模拟实现位图&布隆过滤器
java·大数据·开发语言·数据结构·算法·哈希算法
nbsaas-boot43 分钟前
Pipeline + Saga 分布式扩展规范
分布式
creator_Li1 小时前
分布式IM聊天系统的消息可靠性
分布式·im