Algorithm Pregel API上Spark代码的Java等价物

Algorithm Pregel API上Spark代码的Java等价物,algorithm,apache-spark,graph,spark-dataframe,spark-graphx,Algorithm,Apache Spark,Graph,Spark Dataframe,Spark Graphx,我在一个graph格式的图形上写pregel,这个图形在scala中有顶点计算参数 (_,a,b) => a+b 我正在尝试将其转换为Java函数,该函数具有签名 Function3<Object, VD, A, VD> arg4 Function3 arg4 我知道VD将是行类型,是聚合消息,但Java中的返回类型是什么,因为它在特定顶点上的计算是可变的 new Function3<Row, Double, Row, Row>() { pri

我在一个
graph
格式的图形上写pregel,这个图形在scala中有顶点计算参数

(_,a,b) => a+b
我正在尝试将其转换为Java函数,该函数具有签名

Function3<Object, VD, A, VD> arg4
Function3 arg4
我知道VD将是行类型,是聚合消息,但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

        }
newfunction3(){
私有静态最终长serialVersionUID=1L;
公用行调用(行arg0、双arg1、行arg2)引发异常{
//TODO自动生成的方法存根
}

是吗?

是的,您是对的,因此根据此签名-
(\uu,a,b)=>a+b
,您必须忽略第一个参数并添加最后两个参数,但是您的签名
公共行调用(行arg0,双arg1,行arg2)是错误的,
arg2
必须具有
类型,更改为:

new Function3<Row, Double, Double, Row>()
newfunction3()

这里忽略第一个参数行,添加第二个和第三个参数行,并将其包装到返回类型行。

每个节点的重复添加将发生,返回类型应该是什么,根据我的理解,返回类型应该是可变的?