Spark框架—RDD算式mapPartitionsWithIndex与filter的用法

Posted 那人独钓寒江雪.

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Spark框架—RDD算式mapPartitionsWithIndex与filter的用法相关的知识,希望对你有一定的参考价值。

@junit.Test
  def mapPartitionsWithIndex(): Unit =
    sc.parallelize(Seq(1,2,3,4,5,6),2)
      .mapPartitionsWithIndex((index,iter) =>
        println("index:"+index)
        iter.foreach(item=>println(item))
        iter
      )
      .collect()
  
  @junit.Test
  def map1(): Unit =
    sc.parallelize(Seq(1,2,3,4,5,6),2)
      .mapPartitionsWithIndex((index,iter)=>
          println("index:"+index)
        iter.map(item=> item *10)
        iter.foreach(item => println(item))
        iter
      )
      .collect()
  
  @junit.Test
  //1.定义集合
  //2.过滤数据
  //3.收集结果
  def filter(): Unit = //filter相当于if结构
    sc.parallelize(Seq(1,2,3,4,5,6,7,8,9,10))
      .filter(item => item % 2==0)
      .collect()
      .foreach(item => println(item))

  

以上是关于Spark框架—RDD算式mapPartitionsWithIndex与filter的用法的主要内容,如果未能解决你的问题,请参考以下文章

[Spark精进]必须掌握的4个RDD算子之mapPartitions算子

[Spark精进]必须掌握的4个RDD算子之mapPartitions算子

有没有办法重写 Spark RDD distinct 以使用 mapPartitions 而不是 distinct?

spark中map和mapPartitions算子的区别

大数据之Spark:Spark调优之RDD算子调优

将rdd转换为数据框时,pyspark对mapPartitions使用一项任务