spark map函数中使用println无法输出


问题

   // 每个点为hardData中的一个Array
    val hardData = spark.read.textFile(args(0)).rdd
      .map(_.split(" ").map(_.toDouble).toArray)
      .cache()

    hardData.map(a => println(a(0).toString + " " + a(1).toString +
      " " + a(3).toString))

结果中没有输出

解决

参考 https://stackoverflow.com/questions/33225994/spark-losing-println-on-stdout

由于spark面向大数据量和分布式,在使用map函数输出时存在各种问题:可能输出到各个主机、数据量过大等问题。

因此,spark在设计时使map函数中不能使用println输出信息流

将map函数改为foreach则有输出...


免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM