关于spark mapfun1collectforeachprintln 与sparkmapfunc1foreachprintln的疑问_云计算_编程问答 问题: 关于spark mapfun1collectforeachprintln 与sparkmapfunc1foreachprintln的疑问
描述:

我从分布式表格系统中读取数据放入rdd1中[T,U],然后调用map只获取U,然后一个调用collect一个不调用collect,分别打印U中的某个成员变量row,打出的结果竟然不一样。
case1 输出数据完全与分布式表格系统中数据一致,
case2 虽然数据量是一样的,但是输出的时候出现了较多的重复的数据。
具体场景如下:
case 1
var rddTmp = rdd1.map(r => (r._2))
    println("=====================>" + rddTmp.count() + "<========================")
    rddTmp.foreach(
      (result: Result) => {
        var rStr = new String(result.getRow())
        println(rStr)
      }
    )
执行结果片段
row148
row166
row169
row180
row183
row211
row212
row231
row244
row247
row248
row252
row258
case 2
var rddTmp = rdd1.map(r => (r._2)).collect()
    println("=====================>" + rddTmp.length + "<========================")
    rddTmp.foreach(
      (result: Result) => {
        var rStr = new String(result.getRow())
        println(rStr)
      }
    )
执行结果片段
row258
row258
row258
row258
row258
row258
row258
row258
row258
row258
row258
row258
row258

上一篇新人求助,测试wordcount时,报错socket timeout exception
下一篇Cannot resolve symbol spark
明星图片
相关文章
《 关于spark mapfun1collectforeachprintln 与sparkmapfunc1foreachprintln的疑问》由码蚁之家搜集整理于网络,
联系邮箱:mxgf168#qq.com(#改为@)