【发布时间】:2019-04-27 01:58:36
【问题描述】:
reduceByKey后如何打印输出
我尝试过类似的事情 totalsByAge.foreach{ i =>println("Value = " + i )}
我有几行代码 val totalsByAgeEntry = rdd.mapValues(x => (x, 1))
val totalsByAge = totalsByAgeEntry.reduceByKey( (x,y) => (x._1 + y._1, x._2 + y._2))
我想打印调用 reduceByKey 时得到的元组。在计算 (x._1 + y._1, x._2 + y._2) 之后,我不打印输出。
我知道在 reduceByKey 之后创建的数据是这样的: (x,((x1,y1),(x2,y2)) 但是我怎样才能打印出来
【问题讨论】:
-
foreach在 Executors 上执行,您在 Driver 上,您不会看到输出。要么使用collect来检索 localArray的元组,然后调用foreach。或者,使用reduceByKeyLocally,它会给你一个localMap。
标签: scala apache-spark