如何使用数据集在 Java Spark 中表示平面图

问题描述

给定一个包含两列的数据集,例如:

FatherNode,ChildNode
A,B
A,C
B,D
B,F
C,G
H,I
H,L
M,I
M,B
F,J
Z,K

我想构建一个表示平面图的新数据集,即每个节点的所有可能目的地的表示,所以,在这个例子中,新的数据集应该是:

Node,PossibleDestinations
A,[B,C,D,F,J]
B,[D,J]
C,[G]
H,[I,L]
M,B,J]
F,[J]
Z,[K]

例如,A 可以达到 BCDF > 和 J:与路径无关。

我的简单代码(已实现)是:

import org.apache.spark.sql.Dataset;
import org.apache.spark.sql.Row;
import org.apache.spark.sql.SparkSession;

import static org.apache.spark.sql.functions.array;
import static org.apache.spark.sql.functions.col;

public class FlatGraph {
    public static void main(String[] args) {
        SparkSession spark = SparkSession.builder().appName("Flat Graph").getorCreate();
        Dataset<Row> csvData = spark.read().option("header","true").csv("data.csv").cache();
        csvData.show();
        Dataset<Row> flatGraph = [...]; // What operations Could be performed here?
        flatGraph.show();
        spark.stop();
    }
}

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)