sparks foreachPartition 运行 是在 driver 上还是在 worker 上?

Does sparks foreachPartition run on the driver or on the worker?

文档中不清楚提供给 foreachpartition 运行- 的 lambda 在驱动程序还是工作程序上的确切位置?

foreach()相同foreachPartition()在工人身上执行。没有理由将数据传输给驱动程序来处理它。

rdd.foreachPartition { rddpartition =>
    val thinUrl = "some jdbc url"
    val conn = DriverManager.getConnection(thinUrl)
    rddpartition.foreach { record =>
        conn.createStatement().execute("some statement" )
    }
    conn.commit()
}