在纱线部署模式下在控制台上的地图功能中打印值

时间:2016-09-15 00:49:23

标签: apache-spark

我开发了一个流应用程序,该应用程序有一个map函数,如bellow:

probeFileLines.map(x => { println(x._2.toString().take(1)); x._2.toString()})

我需要在驱动程序中的控制台上打印x ._。2所以我使用了take方法,但它没有在控制台上显示任何内容..我在yarn -client上运行我的应用程序模式..有一些threads解决了如何为RDD做这个,但我的问题是不同的..

3 个答案:

答案 0 :(得分:1)

您可以参考以下方法:

val inputRDDV2 = sc.parallelize(List(1,2,3,4))
val inputRDDV2Map = inputRDDV2.map(num=>num*2).collect()
println("Applying map() to new RDD: ========================> ")
inputRDDV2Map.foreach(println)

答案 1 :(得分:0)

您是否可以使用Spark Streaming的print() function?

val numberToPrint = 10;
probeFileLines
  .map(x => {
    x._2.toString()
  })
  .print(numberToPrint);

答案 2 :(得分:0)

您可以在RDD上使用 collect 方法将RDD的所有元素作为驱动程序中的数组。使用 collect 方法获取数组后,可以通过迭代来打印数组元素。