java面试题网站:www.javaoffers.com

subtract差集函数存在三种我们主要针对第一种,常用的也是第一种,而其他两种是差集后的分区策略:

def subtract(other: RDD[T]): RDD[T]
def subtract(other: RDD[T], numPartitions: Int): RDD[T]
def subtract(other: RDD[T], p: Partitioner): RDD[T]

案例:

package spark_api
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object mh_subtract {def main(args: Array[String]): Unit = {val conf = new SparkConf().setAppName("subtract").setMaster("local")val sc = new SparkContext(conf)val rdd = sc.parallelize(List(1,2,3,4,5,6,7,8,9,10))val rdd2 = sc.parallelize(List(1,2,3,4,5,11))//rdd - rdd2val rdd3: RDD[Int] = rdd.subtract(rdd2)val ints: Array[Int] = rdd3.collect()for(i<-ints){println(i)}sc.stop()}
}

打印结果:注意结果中没有11

6
7
8
9
10

案例2:

package spark_api
import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}
object mh_subtract {def main(args: Array[String]): Unit = {val conf = new SparkConf().setAppName("subtract").setMaster("local")val sc = new SparkContext(conf)val rdd = sc.parallelize(List(("a",1),("b",2),("c",3),("d",4)))val rdd2 = sc.parallelize(List(("a",2),("b",2),("c",2),("d",2)))val rdd3: RDD[(String, Int)] = rdd.subtract(rdd2)val tuples: Array[(String, Int)] = rdd3.collect().sortBy(yz=>yz._1)for(yz<- tuples){println(yz.toString())}sc.stop()}

打印结果:

(a,1)
(c,3)
(d,4)

总结:

rdd.subtract(rdd2): rdd 减去 (rdd与rdd2交集),也可以理解为 rdd减去与rdd2相同=剩余rdd的元素,本人简写方式 : A-B=A_剩

当rdd中的元祖元素k v 对时通过 k v 进行判断两个元祖元素是否相同。k v 一致则为相同,否则为不同,此方法通常

用于业务如: 某一时间的新增数据。

Spark API 之subtract(差集)相关推荐

  1. spark之交集并集差集拉链

    spark之交集并集差集拉链 def main(args: Array[String]): Unit = { val sparkConf = new SparkConf().setMaster(&qu ...

  2. None.org.apache.spark.api.python.PythonAccumulatorV2

    完整报错如下: 2019-05-21 15:19:00 WARN NativeCodeLoader:62 - Unable to load native-hadoop library for your ...

  3. An error occurred while calling None.org.apache.spark.api.java.JavaSparkContext.

    最近公司上云,所有大数据环境都迁移到云上.在进行项目迁移时候发现运行报错 py4j.protocol.Py4JJavaError: An error occurred while calling No ...

  4. Spark API 详解(转)

    spark中,slice=partition,一个slice对应一个task,启动task的数量上限取决于集群中核的数量 sc.parallelize(0 until numMappers, numM ...

  5. Spark API编程动手实战-08-基于IDEA使用Spark API开发Spark程序-01

    2019独角兽企业重金招聘Python工程师标准>>> 创建一个Scala IDEA工程: 点击"Next": 点击"Finish"完成工程的 ...

  6. 通过代码实例来说明spark api mapPartitions和mapPartitionsWithIndex的使用

    代码片段1: package com.oreilly.learningsparkexamples.scalaimport org.apache.spark._import org.eclipse.je ...

  7. Spark API 详解/大白话解释 之 map、mapPartitions、mapValues、mapWith、flatMap、flatMapWith、flatMapValues

    重点看mapPartitions 本文转自http://blog.csdn.net/guotong1988/article/details/50555185,所有权力归原作者所有. map(funct ...

  8. Py4JError: org.apache.spark.api.python.PythonUtils.getPythonAuthSocketTimeout does not exist in the

    背景 就是版本没统一 spark和pyspark的版本需要统一 我的spark是3.0.3的 然后使用的是anaconda内的python,安装pyspark的时候没指定版本,默认安装最新的3.2 导 ...

  9. 《Spark大数据分析:核心概念、技术及实践》一3.5 API

    本节书摘来自华章出版社<Spark大数据分析:核心概念.技术及实践>一书中的第3章,第3.5节,作者[美] 穆罕默德·古勒(Mohammed Guller),更多章节内容可以访问云栖社区& ...

  10. spark (java API) 在Intellij IDEA中开发并运行

    Spark 程序开发,调试和运行,intellij idea开发Spark java程序.  分两部分,第一部分基于intellij idea开发Spark实例程序并在intellij IDEA中运行 ...

最新文章

  1. 传感器融合:自动驾驶领域的另一个突围方向
  2. android从放弃到精通 第四天 happy
  3. python自学时间-Python 从入门到精通:一个月就够了!
  4. SAP ui5 control lifecycle - registration and deregistration
  5. WebSocket数据加密——AES与RSA混合加密
  6. 矩阵每一行重复_【剑指offer】65 矩阵中的路径
  7. Linux加密框架中的算法和算法模式
  8. AAAI 2021 | 商汤提出BSN++: 时序动作提名生成网络
  9. 《linux c编程指南》学习手记1
  10. DeepFaceLab报错,CUDA driver is insufficient 解决方法!
  11. 简单的Vue计算属性
  12. phpstorm 常用快捷键及自定义快捷键
  13. jQuery画廊插件-GalleryView
  14. 身份证编码前六位对应地区(下)
  15. android全息投影,超低成本手机全息3D投影制作教程
  16. 我原以为我不会伤心......
  17. 500万条微博数据来源分析
  18. 【入门恩师】 --极致强压下的Linux学习,感谢马哥
  19. 使用Python开发一个恐龙跑跑小游戏,玩起来
  20. 【开发随记】【提效】工作习惯那些事系列之三——邮件管理

热门文章

  1. idea、webstorm使用过程出现问题
  2. premiere调色预设怎么用
  3. 作品交流:调制解调-勘误情况
  4. UE4 打包问题总结
  5. python绘图小dome
  6. springboot2.0整合logback日志(详细)
  7. 守卫解救acm_让作家阻止了它的解救
  8. 硬盘变成Raw格式 与 移动硬盘报I/O错误问题
  9. 如何压缩视频可以不影响画质
  10. 你不知道的在线免费caj转Word