public < T > Graph < K , VV , EV > joinWithEdges ( DataSet < Tuple3 < K , K , T > > inputDataSet , final EdgeJoinFunction < EV , T > edgeJoinFunction ) { DataSet < Edge < K , EV > > resultedEdges = this . getEdges ( ) . coGroup ( inputDataSet ) . where ( 0 , 1 ) . equalTo ( 0 , 1 ) . with ( new ApplyCoGroupToEdgeValues <> ( edgeJoinFunction ) ) . name ( "Join with edges" ) ; return new Graph <> ( this . vertices , resultedEdges , this . context ) ; }
Joins the edge DataSet with an input DataSet on the composite key of both source and target IDs and applies a user - defined transformation on the values of the matched records . The first two fields of the input DataSet are used as join keys .