Pregel API

时间:2017-10-01 13:59:19

标签: algorithm apache-spark graph spark-dataframe spark-graphx

我在格式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

        }

是不是?

1 个答案:

答案 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。