我从分布式表格系统中读取数据放入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