@Override public Edge<Long, Double> map(Tuple2<Long, Long> tuple2) throws Exception { return new Edge<>(tuple2.f0, tuple2.f1, 0.0); } });
@Override public Edge<K, NullValue> map(EdgeWithDegrees<K> inEdge) throws Exception { // copy vertices to simple edge outEdge.setSource(inEdge.getFirstVertex()); outEdge.setTarget(inEdge.getSecondVertex()); outEdge.setValue(NullValue.getInstance()); // flip vertices if first degree is larger than second degree. if (inEdge.getFirstDegree() > inEdge.getSecondDegree()) { outEdge = outEdge.reverse(); } // return edge return outEdge; } }
public void iterateEdges(Vertex<String, NullValue> vertex, Iterable<Edge<String, Integer>> edges, Collector<Tuple2<String, String>> out) throws Exception { int maxPlaycount = 0; String topSong = ""; for (Edge<String, Integer> edge : edges) { if (edge.getValue() > maxPlaycount) { maxPlaycount = edge.getValue(); topSong = edge.getTarget(); } } out.collect(new Tuple2<>(vertex.getId(), topSong)); } }
/** * Constructor. */ public EdgeToGellyEdgeWithNullValue() { reuseEdge = new org.apache.flink.graph.Edge<>(); reuseEdge.setValue(NullValue.getInstance()); }
public void reduce(Iterable<Edge<String, Integer>> edges, Collector<Edge<String, NullValue>> out) { List<String> listeners = new ArrayList<>(); for (Edge<String, Integer> edge : edges) { listeners.add(edge.getSource()); } for (int i = 0; i < listeners.size() - 1; i++) { for (int j = i + 1; j < listeners.size(); j++) { out.collect(new Edge<>(listeners.get(i), listeners.get(j), NullValue.getInstance())); } } } }
@SuppressWarnings("unchecked") public Tuple2<K, Edge<K, EV>> map(Edge<K, EV> edge) { return new Tuple2<>((K) edge.getField(fieldPosition), edge); } }
@Override public void flatMap(Edge<K, EV> edge, Collector<Edge<K, EV>> out) throws Exception { out.collect(edge); Edge<K, EV> reversed = edge.reverse(); out.collect(reversed); } }
public Edge<K, EV> map(Edge<K, EV> edge) { output.setFields(edge.f1, edge.f0, edge.f2); return output; } }
public boolean filter(Edge<String, Integer> edge) { return (edge.getValue() > playcountThreshold); } }).groupBy(1)
@Override public void sendMessages(Vertex<Long, Double> vertex) throws Exception { if (getSuperstepNumber() == 1) { if (vertex.getId().equals(edgeToBeRemoved.getSource())) { // activate the edge target sendMessageTo(edgeToBeRemoved.getSource(), Double.MAX_VALUE); } } if (getSuperstepNumber() > 1) { // invalidate all edges for (Edge<Long, Double> edge : getEdges()) { sendMessageTo(edge.getSource(), Double.MAX_VALUE); } } } }
@Override public Edge<K, EV> join(Edge<K, EV> edge, VertexWithRepresentative<K> vertexRepresentative) throws Exception { edge.setTarget(vertexRepresentative.getGroupRepresentativeId()); return edge; } }