У меня есть набор данных с несколькими столбцами. Функция должна быть вызвана для вычисления результата с использованием данных, доступных в строке. Поэтому я использовал класс case с методом и создал набор данных, используя его. Например,
case class testCase(x: Double, a1: Array[Double], a2: Array[Double]) {
var someInt = 0
def myMethod1(): Unit = {...} // use x, a1 and a2
def myMethod2(): Unit = {...} // use x, a1 and a2
def result(): { return someInt }
Он вызывается из main()
как
val res = myDS.map(_.result()).toDF("result")
Проблема, с которой я сталкиваюсь, заключается в том, что хотя код работает правильно, независимо от того, как я вызываю, в отличие от других частей программы , приведенное выше утверждение не работает одновременно. Независимо от числа исполнителей, ядер и repartition
ing, только один экземпляр метода, кажется, работает в данный момент!
Любые намеки на то, на что я должен смотреть, будут оценены.