我在格式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
}
是不是?
答案 0 :(得分:1)
是的,你是对的,所以使用Function3,根据此签名 - (_,a,b) => a+b
,您必须忽略第一个参数并添加最后两个,但您的签名public Row call(Row arg0, Double arg1, Row arg2)
是错误的, arg2
必须有Double
类型,请更改为:
new Function3<Row, Double, Double, Row>()
这里忽略第一个参数Row,然后添加第二个和第三个参数并将其包装回返回类型Row。