List of usage examples for org.apache.hadoop.io ObjectWritable get
public Object get()
From source file:org.apache.tinkerpop.gremlin.hadoop.structure.io.ObjectWritableComparator.java
License:Apache License
@Override public int compare(final ObjectWritable objectWritable1, final ObjectWritable objectWritable2) { return this.comparator.compare(objectWritable1.get(), objectWritable2.get()); }
From source file:org.sf.xrime.algorithms.HITS.DeliveryReducer.java
License:Apache License
@Override public void reduce(Text key, Iterator<ObjectWritable> values, OutputCollector<Text, LabeledAdjBiSetVertex> output, Reporter reporter) throws IOException { LabeledAdjBiSetVertex vertex = null; // double oldhubscore = 0; double newhubscore = 0; // double oldauthorityscore = 0; double newauthorityscore = 0; while (values.hasNext()) { ObjectWritable obj = values.next(); if (obj.get() instanceof HubLabel) { newauthorityscore += ((HubLabel) obj.get()).getHubscore(); continue; } else if (obj.get() instanceof AuthorityLabel) { newhubscore += ((AuthorityLabel) obj.get()).getAuthorityscore(); continue; }/* w w w. ja v a2 s .com*/ vertex = (LabeledAdjBiSetVertex) obj.get(); } if (vertex != null) { HubLabel hublabel = (HubLabel) vertex.getLabel(HITSAlgorithm.HITSHubKey); AuthorityLabel authoritylabel = (AuthorityLabel) vertex.getLabel(HITSAlgorithm.HITSAuthorityKey); hublabel.setHubscore(newhubscore); vertex.setLabel(HITSAlgorithm.HITSHubKey, hublabel); authoritylabel.setAuthorityscore(newauthorityscore); vertex.setLabel(HITSAlgorithm.HITSAuthorityKey, authoritylabel); output.collect(key, vertex); } }
From source file:org.sf.xrime.algorithms.pagerank.PageRankReducer.java
License:Apache License
@Override public void reduce(Text key, Iterator<ObjectWritable> values, OutputCollector<Text, LabeledAdjSetVertex> output, Reporter reporter) throws IOException { LabeledAdjSetVertex vertex = null;/*from w ww. j ava 2 s .com*/ double newPR = 0; while (values.hasNext()) { ObjectWritable obj = values.next(); if (obj.get() instanceof PageRankLabel) { newPR += ((PageRankLabel) obj.get()).getPr(); continue; } vertex = (LabeledAdjSetVertex) obj.get(); } if (vertex != null) { PageRankLabel label = (PageRankLabel) vertex.getLabel(PageRankLabel.pageRankLabelKey); if (label.isReachable()) { newPR = dampingFactor * newPR + (1 - dampingFactor) * label.getInitWeight(); label.setPr(newPR); vertex.setLabel(PageRankLabel.pageRankLabelKey, label); if (Math.abs(label.getPrepPR() - label.getPr()) > stopThreshold) { recordContinue(); } } output.collect(key, vertex); } }
From source file:org.sf.xrime.algorithms.statistics.egoCentric.EgoCentricMergerReducer.java
License:Apache License
@Override public void reduce(Text key, Iterator<ObjectWritable> values, OutputCollector<Text, LabeledAdjVertex> output, Reporter reporter) throws IOException { EgoCentricLabel label = new EgoCentricLabel(); LabeledAdjVertex vertex = null;// w w w .j av a2 s.c o m while (values.hasNext()) { ObjectWritable obj = values.next(); if (obj.get() instanceof Edge) { label.addEdge((Edge) obj.get()); continue; } if (obj.get() instanceof AdjVertex) { vertex = new LabeledAdjVertex((AdjVertex) obj.get()); } } if (vertex != null) { vertex.setLabel(EgoCentricAlgorithm.egoCentricLabelKey, label); System.out.println("emit: " + vertex); output.collect(key, vertex); } }
From source file:org.sf.xrime.algorithms.transform.vertex.AdjVertex2AdjSetVertexReducer.java
License:Apache License
@Override public void reduce(Text key, Iterator<ObjectWritable> values, OutputCollector<Text, AdjSetVertex> output, Reporter reporter) throws IOException { ArrayList<Edge> edges = new ArrayList<Edge>(); AdjSetVertex vertex = null;//from w ww . j a v a 2s . c o m while (values.hasNext()) { ObjectWritable obj = values.next(); if (obj.get() instanceof Edge) { edges.add((Edge) obj.get()); } if (obj.get() instanceof AdjSetVertex) { vertex = (AdjSetVertex) obj.get(); } } if (vertex != null) { for (Edge edge : edges) { vertex.addOpposite(EdgeUtils.getAdjVertexEdgeByEdge(vertex, edge)); } outputKey.set(vertex.getId()); output.collect(key, vertex); } }