繁体   English   中英

rdd.map()不调用指定的函数

[英]rdd.map() does not call the specified function

我有3个项目的数据集。 我使用map()在每个项目上调用一个函数,但从未调用过该函数。

object MyProgram {

  val events = Seq("A","B","C")

  def main(args: Array[String]): Unit = {
    val spark = SparkSession
      .builder
      .appName("MyApp")
      .config("spark.master", "local")
      .getOrCreate()

    import spark.implicits._

    val eventsDS = events.toDS()
    System.out.println("Before")
    val tempDS = eventsDS.rdd.map(x => doSomething(x))
    System.out.println("After")

  }

  def doSomething(event: String) : Unit = {
    System.out.println("Do Something!")
  }
}

输出:

之前

map是惰性计算的,您需要调用诸如foreach类的action来执行计算:

eventsDS.foreach(doSomething _)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM