scala - 为什么 mapPartitions 不向标准输出打印任何内容?

标签 scala apache-spark

我在scala中有这个代码


object SimpleApp {

  def myf(x: Iterator[(String, Int)]): Iterator[(String, Int)] = {
    while (x.hasNext) {
     println(x.next)
    }
    x
  }

  def main(args: Array[String]) {
    val conf = new SparkConf().setAppName("Simple Application")
    val sc = new SparkContext(conf)
    val tx1 = sc.textFile("/home/paourissi/Desktop/MyProject/data/testfile1.txt")
    val file1 = tx1.flatMap(line => line.split(" ")).map(word => (word, 1))
    val s = file1.mapPartitions(x => myf(x))
  }
}

我试图弄清楚为什么它不会在输出上打印任何内容。我在本地机器上而不是在集群上运行它。

最佳答案

你只有转换,没有actions .在调用 Action 之前,Spark 不会执行。添加此行以打印出前 10 个结果。

s.take(10).foreach(println)

关于scala - 为什么 mapPartitions 不向标准输出打印任何内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/33830676/

相关文章:

scala - 当我将 scala 应用程序作为 docker 容器运行时,kamon statsd 不发送指标

scala - 将模块版本作为命令行参数发送到 SBT

scala - scala 可以隐式地将 2 个隐式连接成一个隐式元组吗?

scala - 如何将 Spark 数据框中的 WrappedArray 列转换为字符串?

python - 在Spark中,RDD是不可变的,那么Accumulators是如何实现的呢?

database - 提交钩子(Hook)后光滑

scala - 喷雾路线得到童星回应

apache-spark - 运行pyspark时没有此类文件或目录错误

scala - 什么会导致阶段在 Spark 中重新尝试

hadoop - 在 Sparklyr 中创建新的 Spark 表或数据框的最有效方法是什么?