algorithm - 与Java等效的Pregel API上的Spark代码

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

(_,a,b) => a+b

我正试图将其转换为Java函数,该函数的签名为
Function3<Object, VD, A, VD> arg4

我知道VD是行类型的,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

        }

对吗?


最佳答案:

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

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

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

译文:来源   文章分类: algorithm apache-spark graph spark-dataframe spark-graphx

相关文章:

algorithm - 如何创建一个具有1500台可即时交付结果的服务器的系统?

c# - C#中的递归字符串替换

vb.net - 如何逆转此算法以取回原始文本? [关闭]

algorithm - 如何确定最便宜的通勤票组合

algorithm - 寻求有效的算法来分析类似于VBA中数据透视表的数据

c++ - 程序耗时过长,无法进行大量输入

c - 内存泄漏检测

algorithm - 最小堆到最大堆,比较

java - 将list <string []>的每个元素彼此相交

algorithm - 建立或查找“相关术语”建议功能