语法

val newRdd = oldRdd.mapPartitionsWithIndex{case (num, datas) => {func}}

源码

def mapPartitionsWithIndex[U](f : scala.Function2[scala.Int, scala.Iterator[T], scala.Iterator[U]], preservesPartitioning : scala.Boolean = { /* compiled code */ })(implicit evidence$9 : scala.reflect.ClassTag[U]) : org.apache.spark.rdd.RDD[U] = { /* compiled code */ }

作用

类似于mapPartitions,但func带有一个整数参数表示分片的索引值,因此在类型为T的RDD上运行时,func的函数类型必须是(Int, Interator[T]) => Iterator[U]

例子

package com.day1import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}object oper {def main(args: Array[String]): Unit = {val config:SparkConf = new SparkConf().setMaster("local[*]").setAppName("wordCount")// 创建上下文对象val sc = new SparkContext(config)// mapPartitionsWithIndex算子val listRdd:RDD[Int] = sc.makeRDD(1 to 10,2)val tupleRdd: RDD[(Int, String)] = listRdd.mapPartitionsWithIndex {case (num, datas) => {datas.map((_, "分区号为:" + num))}}tupleRdd.collect().foreach(println)}
}输入:
1 2 3 4 5 6 7 8 9 10
输出:
(1,分区号为:0)
(2,分区号为:0)
(3,分区号为:0)
(4,分区号为:0)
(5,分区号为:0)
(6,分区号为:1)
(7,分区号为:1)
(8,分区号为:1)
(9,分区号为:1)
(10,分区号为:1)

示意图

SparkRDD算子--mapPartitionsWithIndex算子相关推荐

  1. python图像锐化 增强边缘_[Python图像处理]十一.图像锐化与边缘检测之Roberts算子、Prewitt算子、Sobel算子和Laplacian算子,Schar算子...

    Roberts算子 Roberts算子即为交叉微分算法,它是基于交叉差分的梯度算法,通过局部差分计算检测边缘线条.常用来处理具有陡峭的第噪声图像,当图像边缘接近于正45度或负45度时,该算法处理效果更 ...

  2. sobel算子 拉普拉斯算子以及散度与梯度的概念

    在ECBSR论文的代码研究中,我发现关于ECBSR提出的多分支重参数化模型中,代码用到了sobel算子与laplace算子,很难判断这两个算子是为了论文的创新点还是真的有用,这块只能等待后续的对比实验 ...

  3. 图像处理中的梯度、导数如何求?(Robert算子,Sobel算子,Prewitt算子,Laplace算子)

    梯度的求法是多种多样的,根据不同的处理需要选择合适的算子(模版). 1.水平垂直差分法 2.Robert 梯度算子 3.Sobel算子               垂直方向               ...

  4. 【OpenCV入门教程之十二】OpenCV边缘检测:Canny算子,Sobel算子,Laplace算子,Scharr滤波器合辑

    本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/25560901 作者:毛星云(浅墨) ...

  5. 一文解决Opencv四大经典算子——sobel算子、scharr算子、laplacian算子、canny算子

    Opencv四大算子 Sobel算子 Scharr算子 laplacian算子 canny算子 总结 边缘是像素值发生跃迁的位置,是图像的显著特征之一,在图像特征提取,对象检测,模式识别等方面都有重要 ...

  6. 【OpenCV】32 图像梯度–更多梯度算子(rober算子、prewitt算子)

    32 图像梯度–更多梯度算子(rober算子.prewitt算子) 代码 import cv2 as cv import numpy as npsrc = cv.imread("../ima ...

  7. spark算子_Spark算子总结

    一.RDD介绍 1.什么是RDD RDD(Resilient Distributed Dataset)叫做弹性分布式数据集,是Spark中最基本的数据抽象.代码中是一个抽象类,它代表一个不可变.可分区 ...

  8. log算子dog算子

    背景引言 在博文差分近似图像导数算子之Laplace算子中,我们提到Laplace算子对通过图像进行操作实现边缘检测的时,对离散点和噪声比较敏感.于是,首先对图像进行高斯暖卷积滤波进行降噪处理,再采用 ...

  9. OpenCV-Python教程(6)(7)(8): Sobel算子 Laplacian算子 Canny边缘检测

    OpenCV-Python教程(6.Sobel算子) 本篇文章介绍如何用OpenCV-Python来使用Sobel算子. 提示: 转载请详细注明原作者及出处,谢谢! 本文介绍使用OpenCV-Pyth ...

最新文章

  1. Superset配置hive数据源
  2. Vue父子组件通信小总结
  3. 2s相机 android6,Android Camera2 使用总结
  4. pythoni手机版下载_Python进度栏和下载
  5. C++ STL string的输出
  6. jQuery入门教程
  7. 谷歌云盘将共享链接中的文件保存到自己的云盘中
  8. Android USB 开发
  9. 计算机软件是互联网行业吗,中国十大热门专业 互联网行业位居第一
  10. mui开发项目流程_mui项目开发环境搭建
  11. 电商工具箱之淘宝黑号库
  12. Node 学习 | Day03 express (初识Express、Express 路由、Express 中间件、使用 Express 写接口)
  13. 如何一次打开多个Word文档
  14. 对Dataframe数据Excel进行升序降序排列
  15. centos系统 用kubeadm 搭建高可用k8s集群
  16. Stata:如何正确检验U型关系的存在
  17. 专门为u盘设计的linux系统
  18. 2千兆光+12千兆电导轨式网管型X-Ring一键环网工业级以太网交换机
  19. pycharm里强制升级pip版本
  20. 克鲁斯卡尔算法(Kruskal)详解

热门文章

  1. Redis 面试题!精华!收藏一波 !
  2. c语言表达式106的结果是,云南师范大学C语言期末试题
  3. 2009 Putnam Competition B3
  4. element-ui 获取当前行的 id
  5. Fabric2.2 error 总结:WARN 0cf access denied: channel expected MSP ID Org1MSP, received Org3MSP channel
  6. 关于AJAX的知识点详解
  7. 使用canvas实现小矮人行走案例
  8. 2010年国家规划布局内重点软件企业认定名单
  9. C#pingpong输出
  10. mysql闪_为什么mysql一闪而过的原因