问题,请用java(不是scala或python)给出解决方案
我有一个包含以下数据的Dataframe
colA, colB
23,44
24,64
我想要的是这样的Dataframe
colA, colB, colC
23,44, result of myFunction(23,24)
24,64, result of myFunction(23,24)
基本上,我想在java中向dataframe添加一个列,其中新列的值是通过将cola和colb的值放入一个返回字符串的复杂函数来找到的。
这是我尝试过的,但是complexfunction的参数似乎只是名称“cola”,而不是cola中的值。
myDataFrame.withColumn("ststs", (complexFunction(myDataFrame.col("colA")))).show();
1条答案
按热度按时间yqkkidmi1#
正如注解中所建议的,您应该使用用户定义的函数。假设您有一个myfunction方法来执行复杂的处理:
然后,您只需将函数转换为udf,并将其应用于a列和b列:
希望对你有帮助