我在一个格式为Graph<Row,Row>的图上写了pregel,它在scala中有顶点计算参数,如
(_,a,b) => a+b我正在尝试将其转换为Java函数,该函数的签名为
Function3<Object, VD, A, VD> arg4我知道VD将是Row类型,A是聚合消息,但是Java中的返回类型是什么,因为它应该是可变性质的,因为在特定的顶点重新计算?
new Function3<Row, Double, Row, Row>() {
private static final long serialVersionUID = 1L;
public Row call(Row arg0, Double arg1, Row arg2) throws Exception {
// TODO Auto-generated method stub
}是对的吗?
发布于 2017-10-04 01:45:30
是的,你是对的,所以使用Function3,根据这个签名- (_,a,b) => a+b,你必须忽略第一个参数并添加最后两个参数,但是你的签名public Row call(Row arg0, Double arg1, Row arg2)是错误的,arg2必须有Double类型,更改为:
new Function3<Row, Double, Double, Row>()在这里,您忽略第一个参数Row,添加第二个和第三个参数,并将其包装为返回类型Row。
https://stackoverflow.com/questions/46513113
复制相似问题