如何使用Java调用Groovy或Scala UDF来更新Oracle?

时间:2017-06-13 07:26:50

标签: java oracle scala groovy udf

我与Oracle DB有JDBC连接。我还有一些用Groovy或Scala编写的函数f(x)。例如,f(x)只返回2x。

现在我的问题是:如何在我的Java代码中调用此f(x),将f(x)应用于列中的所有值,并在上面的示例中将此列更新为2x?

1 个答案:

答案 0 :(得分:0)

您可以使用withColumn api更新列的值。

如果你的函数返回一个常量lit应该是个不错的选择。您也可以找到很多functions

您也可以使用udf功能

def func = udf((column: Int)=> 2*column)
dataframe.withColumn("column1", func(dataframe("column1")))

udf函数需要序列化和反序列化列值。因此,如果应该首选其他功能。