【发布时间】:2020-02-11 13:23:02
【问题描述】:
我有一个包含多列的数据集。需要调用一个函数来使用行中可用的数据计算结果。所以我使用了一个带有方法的案例类,并使用它创建了一个数据集。例如,
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")
我面临的问题是,虽然代码正常工作,但无论我如何调用,与程序的其他部分不同,上述语句不能同时工作。无论执行者、核心和repartitioning 的数量如何,似乎每次只有一个方法实例有效!
任何关于我应该看什么的提示将不胜感激。
【问题讨论】:
标签: scala apache-spark apache-spark-dataset