代码之家  ›  专栏  ›  技术社区  ›  Raphael Roth

在Spark DataFrame中为给定行并行运行UDFs

  •  0
  • Raphael Roth  · 技术社区  · 6 年前

    请考虑以下dataframe API代码:

    df
    .withColumn("resultA",expensiveUDF($"inputA"))
    .withColumn("resultB",expensiveUDF($"inputB"))
    .show()
    

    两个UDF调用将按顺序运行,因为它们在同一任务中。有没有办法让这些UDF调用同时运行?由于它们彼此独立,这不应该太困难。

    我试着增加 spark.task.cpus 但这并没有解决问题。

    我知道有一种方法可以在UDF代码中使用Spark中的多线程,但这不是我想要做的。

    0 回复  |  直到 6 年前