-1
UDFを使用すると、各要素が個別にパラメータで渡されなければならないことが暗示されます。柔軟なソリューションはありますか?これらの要素のシーケンスをどのようにしてUDFに渡すか?2次元配列をユーザー定義関数に渡すにはどうすればよいですか?
val myFunction = udf {
(userBias: Float, productBias: Float, productBiases: Map[Long, Float],
userFactors: Seq[Float], productFactors: Seq[Float], c1: String, c2: String, c3: String) =>
var result = Float.NaN
// result calculation
result
}
そして私は、以下の方法(dataset
がDataFrame
である)、この関数を呼び出す:
myFunction(userBias("bias"),
productBias("bias"),
productBias("biases"),
userFactors("features"),
productFactors("features"),
dataset(factors(0)), dataset(factors(1)), dataset(factors(2))
私はこのような何かをした場合、コンパイラは、 "該当なし" と言う:
val myFactors = dataset.select(factors.head, factors.tail: _*)
myFunction(userBias("bias"),
productBias("bias"),
productBias("biases"),
userFactors("features"),
productFactors("features"),
myFactors)
? – Klue