我与Oracle DB有JDBC连接。我还有一些用Groovy或Scala编写的函数f(x)。例如,f(x)只返回2x。
现在我的问题是:如何在我的Java代码中调用此f(x),将f(x)应用于列中的所有值,并在上面的示例中将此列更新为2x?
答案 0 :(得分:0)
您可以使用withColumn api更新列的值。
如果你的函数返回一个常量lit应该是个不错的选择。您也可以找到很多functions。
您也可以使用udf
功能
def func = udf((column: Int)=> 2*column)
dataframe.withColumn("column1", func(dataframe("column1")))
但udf
函数需要序列化和反序列化列值。因此,如果应该首选其他功能。