The logic blocks with which the Graph API and top-level algorithms are assembled are accessible in Gelly as graph algorithms in the org.apache.flink.graph.asm package. These algorithms provide optimization and tuning through configuration parameters and may provide implicit runtime reuse when processing the same input with a similar configuration.
Algorithm
Description
degree.annotate.directed. VertexInDegree
Annotate vertices of a directed graph with the in-degree.
Optional configuration:
setIncludeZeroDegreeVertices: by default only the edge set is processed for the computation of degree; when this flag is set an additional join is performed against the vertex set in order to output vertices with an in-degree of zero
setParallelism: override the operator parallelism
degree.annotate.directed. VertexOutDegree
Annotate vertices of a directed graph with the out-degree.
Optional configuration:
setIncludeZeroDegreeVertices: by default only the edge set is processed for the computation of degree; when this flag is set an additional join is performed against the vertex set in order to output vertices with an out-degree of zero
setParallelism: override the operator parallelism
degree.annotate.directed. VertexDegrees
Annotate vertices of a directed graph with the degree, out-degree, and in-degree.
Optional configuration:
setIncludeZeroDegreeVertices: by default only the edge set is processed for the computation of degree; when this flag is set an additional join is performed against the vertex set in order to output vertices with out- and in-degree of zero
setParallelism: override the operator parallelism
degree.annotate.directed. EdgeSourceDegrees
Annotate edges of a directed graph with the degree, out-degree, and in-degree of the source ID.
Optional configuration:
setParallelism: override the operator parallelism
degree.annotate.directed. EdgeTargetDegrees
Annotate edges of a directed graph with the degree, out-degree, and in-degree of the target ID.
Optional configuration:
setParallelism: override the operator parallelism
degree.annotate.directed. EdgeDegreesPair
Annotate edges of a directed graph with the degree, out-degree, and in-degree of both the source and target vertices.
setIncludeZeroDegreeVertices: by default only the edge set is processed for the computation of degree; when this flag is set an additional join is performed against the vertex set in order to output vertices with a degree of zero
setParallelism: override the operator parallelism
setReduceOnTargetId: the degree can be counted from either the edge source or target IDs. By default the source IDs are counted. Reducing on target IDs may optimize the algorithm if the input edge list is sorted by target ID.
degree.annotate.undirected. EdgeSourceDegree
Annotate edges of an undirected graph with degree of the source ID.
Optional configuration:
setParallelism: override the operator parallelism
setReduceOnTargetId: the degree can be counted from either the edge source or target IDs. By default the source IDs are counted. Reducing on target IDs may optimize the algorithm if the input edge list is sorted by target ID.
degree.annotate.undirected. EdgeTargetDegree
Annotate edges of an undirected graph with degree of the target ID.
Optional configuration:
setParallelism: override the operator parallelism
setReduceOnSourceId: the degree can be counted from either the edge source or target IDs. By default the target IDs are counted. Reducing on source IDs may optimize the algorithm if the input edge list is sorted by source ID.
degree.annotate.undirected. EdgeDegreePair
Annotate edges of an undirected graph with the degree of both the source and target vertices.
Optional configuration:
setParallelism: override the operator parallelism
setReduceOnTargetId: the degree can be counted from either the edge source or target IDs. By default the source IDs are counted. Reducing on target IDs may optimize the algorithm if the input edge list is sorted by target ID.
setBroadcastHighDegreeVertices: join high-degree vertices using a broadcast-hash to reduce data shuffling when removing a relatively small number of high-degree vertices.
setParallelism: override the operator parallelism
setReduceOnTargetId: the degree can be counted from either the edge source or target IDs. By default the source IDs are counted. Reducing on target IDs may optimize the algorithm if the input edge list is sorted by target ID.
simple.directed. Simplify
Remove self-loops and duplicate edges from a directed graph.
Optional configuration:
setParallelism: override the operator parallelism
simple.undirected. Simplify
Add symmetric edges and remove self-loops and duplicate edges from an undirected graph.
Optional configuration:
setParallelism: override the operator parallelism
translate. TranslateGraphIds
Translate vertex and edge IDs using the given TranslateFunction.
Required configuration:
translator: implements type or value conversion
Optional configuration:
setParallelism: override the operator parallelism
translate. TranslateVertexValues
Translate vertex values using the given TranslateFunction.
Required configuration:
translator: implements type or value conversion
Optional configuration:
setParallelism: override the operator parallelism
translate. TranslateEdgeValues
Translate edge values using the given TranslateFunction.