首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Pregel API上Spark代码的Java等价物

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

Stack Overflow用户
提问于 2017-10-01 21:59:19
回答 1查看 212关注 0票数 2

我在一个格式为Graph<Row,Row>的图上写了pregel,它在scala中有顶点计算参数,如

代码语言:javascript
复制
(_,a,b) => a+b

我正在尝试将其转换为Java函数,该函数的签名为

代码语言:javascript
复制
Function3<Object, VD, A, VD> arg4

我知道VD将是Row类型,A是聚合消息,但是Java中的返回类型是什么,因为它应该是可变性质的,因为在特定的顶点重新计算?

代码语言:javascript
复制
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

        }

是对的吗?

EN

回答 1

Stack Overflow用户

发布于 2017-10-04 01:45:30

是的,你是对的,所以使用Function3,根据这个签名- (_,a,b) => a+b,你必须忽略第一个参数并添加最后两个参数,但是你的签名public Row call(Row arg0, Double arg1, Row arg2)是错误的,arg2必须有Double类型,更改为:

代码语言:javascript
复制
new Function3<Row, Double, Double, Row>()

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/46513113

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档