
com.tinkerpop.gremlin.giraph.process.computer.util.MemoryMapReduce Maven / Gradle / Ivy
package com.tinkerpop.gremlin.giraph.process.computer.util;
import com.tinkerpop.gremlin.giraph.Constants;
import com.tinkerpop.gremlin.process.computer.MapReduce;
import com.tinkerpop.gremlin.process.computer.Memory;
import com.tinkerpop.gremlin.structure.Vertex;
import org.apache.commons.configuration.Configuration;
import org.javatuples.Pair;
import java.util.ArrayList;
import java.util.Collections;
import java.util.HashMap;
import java.util.HashSet;
import java.util.Iterator;
import java.util.List;
import java.util.Map;
import java.util.Set;
/**
* @author Marko A. Rodriguez (http://markorodriguez.com)
*/
public class MemoryMapReduce implements MapReduce> {
public Set memoryKeys = new HashSet<>();
@Override
public String getSideEffectKey() {
return Constants.HIDDEN_MEMORY;
}
public MemoryMapReduce() {
}
public MemoryMapReduce(final Set memoryKeys) {
this.memoryKeys = memoryKeys;
}
@Override
public void storeState(final Configuration configuration) {
configuration.setProperty(Constants.GREMLIN_MEMORY_KEYS, new ArrayList<>(this.memoryKeys.size()));
}
@Override
public void loadState(final Configuration configuration) {
this.memoryKeys = new HashSet((List) configuration.getList(Constants.GREMLIN_MEMORY_KEYS));
}
@Override
public boolean doStage(final Stage stage) {
return true;
}
@Override
public void map(final Vertex vertex, final MapEmitter emitter) {
final Map memoryMap = vertex.
© 2015 - 2025 Weber Informatics LLC | Privacy Policy