use of org.apache.flink.graph.Edge in project flink by apache.
the class GraphCreationITCase method testValidate.
@Test
public void testValidate() throws Exception {
/*
* Test validate():
*/
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSet<Vertex<Long, Long>> vertices = TestGraphUtils.getLongLongVertexData(env);
DataSet<Edge<Long, Long>> edges = TestGraphUtils.getLongLongEdgeData(env);
Graph<Long, Long, Long> graph = Graph.fromDataSet(vertices, edges, env);
Boolean valid = graph.validate(new InvalidVertexIdsValidator<Long, Long, Long>());
//env.fromElements(result).writeAsText(resultPath);
//env.fromElements(valid);
String res = valid.toString();
List<String> result = new LinkedList<>();
result.add(res);
expectedResult = "true";
compareResultAsText(result, expectedResult);
}
use of org.apache.flink.graph.Edge in project flink by apache.
the class GraphCreationITCase method testValidateWithInvalidIds.
@Test
public void testValidateWithInvalidIds() throws Exception {
/*
* Test validate() - invalid vertex ids
*/
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
DataSet<Vertex<Long, Long>> vertices = TestGraphUtils.getLongLongInvalidVertexData(env);
DataSet<Edge<Long, Long>> edges = TestGraphUtils.getLongLongEdgeData(env);
Graph<Long, Long, Long> graph = Graph.fromDataSet(vertices, edges, env);
Boolean valid = graph.validate(new InvalidVertexIdsValidator<Long, Long, Long>());
//env.fromElements(valid);
String res = valid.toString();
List<String> result = new LinkedList<>();
result.add(res);
expectedResult = "false\n";
compareResultAsText(result, expectedResult);
}
use of org.apache.flink.graph.Edge in project flink by apache.
the class JoinWithEdgesITCase method testOnTargetWithCustom.
@Test
public void testOnTargetWithCustom() throws Exception {
/*
* Test joinWithEdgesOnTarget with a DataSet containing custom parametrised type input values
*/
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
Graph<Long, Long, Long> graph = Graph.fromDataSet(TestGraphUtils.getLongLongVertexData(env), TestGraphUtils.getLongLongEdgeData(env), env);
Graph<Long, Long, Long> res = graph.joinWithEdgesOnTarget(TestGraphUtils.getLongCustomTuple2TargetData(env), new CustomValueMapper());
DataSet<Edge<Long, Long>> data = res.getEdges();
List<Edge<Long, Long>> result = data.collect();
expectedResult = "1,2,10\n" + "1,3,20\n" + "2,3,20\n" + "3,4,40\n" + "3,5,35\n" + "4,5,45\n" + "5,1,51\n";
compareResultAsTuples(result, expectedResult);
}
use of org.apache.flink.graph.Edge in project flink by apache.
the class JoinWithEdgesITCase method testWithEdgesOnTarget.
@Test
public void testWithEdgesOnTarget() throws Exception {
/*
* Test joinWithEdgesOnTarget with the input DataSet parameter identical
* to the edge DataSet
*/
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
Graph<Long, Long, Long> graph = Graph.fromDataSet(TestGraphUtils.getLongLongVertexData(env), TestGraphUtils.getLongLongEdgeData(env), env);
Graph<Long, Long, Long> res = graph.joinWithEdgesOnTarget(graph.getEdges().map(new ProjectTargetAndValueMapper()), new AddValuesMapper());
DataSet<Edge<Long, Long>> data = res.getEdges();
List<Edge<Long, Long>> result = data.collect();
expectedResult = "1,2,24\n" + "1,3,26\n" + "2,3,36\n" + "3,4,68\n" + "3,5,70\n" + "4,5,80\n" + "5,1,102\n";
compareResultAsTuples(result, expectedResult);
}
use of org.apache.flink.graph.Edge in project flink by apache.
the class JoinWithEdgesITCase method testOnTargetWithNoCommonKeys.
@Test
public void testOnTargetWithNoCommonKeys() throws Exception {
/*
* Test joinWithEdgesOnTarget with the input DataSet containing different keys than the edge DataSet
* - the iterator becomes empty.
*/
final ExecutionEnvironment env = ExecutionEnvironment.getExecutionEnvironment();
Graph<Long, Long, Long> graph = Graph.fromDataSet(TestGraphUtils.getLongLongVertexData(env), TestGraphUtils.getLongLongEdgeData(env), env);
Graph<Long, Long, Long> res = graph.joinWithEdgesOnTarget(TestGraphUtils.getLongLongTuple2TargetData(env), new DoubleValueMapper());
DataSet<Edge<Long, Long>> data = res.getEdges();
List<Edge<Long, Long>> result = data.collect();
expectedResult = "1,2,20\n" + "1,3,40\n" + "2,3,40\n" + "3,4,80\n" + "3,5,35\n" + "4,5,45\n" + "5,1,140\n";
compareResultAsTuples(result, expectedResult);
}
Aggregations