During the Flink Forward Gelly School training, I got some really valuable feedback from participants on what they found hard to grasp or non-intuitive in the API.
Based on that, I propose we make the following improvements:
- rename the mapper in creation methods to VertexInitializer, so that its purpose is easier to understand.
- add a fromTuple2DataSet method to easily create graphs from Tuple2 datasets, i.e. edges with no values.
- in joinWith* methods, it is hard to understand what are the parameters in the mapper and what will be the output. I suggest we flatten them, try to give intuitive names and improve the javadocs.
- in neighborhood methods, it is hard to understand what are the arguments of the EdgeFunction.iterateEdges and ReduceEdgesFunction.reduceEdges. Javadocs and parameter names could be improved here too.