首页 > 其他 > 详细

flatMap

时间:2020-09-18 16:43:10      阅读:53      评论:0      收藏:0      [点我收藏+]
技术分享图片

 

 

对比结果2与结果3,很容易得出结论:
map函数后,RDD的值为 Array(Array("a","b"),Array("c","d"),Array("e","f"))
flatMap函数处理后,RDD的值为 Array("a","b","c","d","e","f")
即最终可以认为,flatMap会将其返回的数组全部拆散,然后合成到一个数组中

import org.apache.spark.rdd.RDD
import org.apache.spark.{SparkConf, SparkContext}


//map(func)
object flatMap {
  def main(args: Array[String]): Unit = {
    //本地模式
    val conf: SparkConf = new SparkConf().setAppName("My scala word count").setMaster("local")

    //创建spark上下文对象
    val sc = new SparkContext(conf)


    //1)map对所有数据进行操作

    val arrayRDD =sc.makeRDD(Array("a_b","c_d","e_f"))
    arrayRDD.foreach(println) //打印结果1

    arrayRDD.map(string=>{
      string.split("_")
    }).foreach(x=>{
      println(x.mkString(",")) //打印结果2
    })

    arrayRDD.flatMap(string=>{
      string.split("_")
    }).foreach(x=>{
      println(x.mkString(","))//打印结果3
    })

  }


}

 

 

flatMap

原文:https://www.cnblogs.com/hapyygril/p/13691819.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!