在spark中直接使用:
datardd.foreach(r=>println(r.getString(0)+r.getString(1)))
运行后,没有任何结果
此时应该先收集数据,再进行打印:
有两种解决办法:
1、datardd.collect.foreach(r=>println(r.getString(0)+"\t"+r.getString(1)))
这里的collect()方法的作用是收集分布在各个worker的数据到driver节点。
如果不使用这个方法,每个worker的数据只在自己本地显示,并不会在driver节点显示。
2、datardd.take(3).foreach(r=>println(r.getString(0)+"\t"+r.getString(1)))