Search in sources :

Example 1 with IntValue

use of com.baidu.hugegraph.computer.core.graph.value.IntValue in project hugegraph-computer by hugegraph.

the class Bsp4Master method masterResumeDone.

/**
 * The master determines which superstep to start from
 */
public void masterResumeDone(int superstep) {
    String path = this.constructPath(BspEvent.BSP_MASTER_RESUME_DONE);
    IntValue superstepWritable = new IntValue(superstep);
    this.bspClient().put(path, SerializeUtil.toBytes(superstepWritable));
    LOG.info("Master set resume-done({})", superstep);
}
Also used : IntValue(com.baidu.hugegraph.computer.core.graph.value.IntValue)

Example 2 with IntValue

use of com.baidu.hugegraph.computer.core.graph.value.IntValue in project hugegraph-computer by hugegraph.

the class MockMasterComputation2 method assertStep0Aggregators.

@Override
protected void assertStep0Aggregators(MasterComputationContext context) {
    Assert.assertEquals(new IntValue(10), context.aggregatedValue(MockMasterComputation.AGGR_CUSTOM_INT));
    Assert.assertEquals(new FloatValue(10.4f), context.aggregatedValue(MockMasterComputation.AGGR_CUSTOM_FLOAT));
    Assert.assertEquals(new FloatValue(6.28f), context.aggregatedValue(MockMasterComputation.AGGR_FLOAT_UNSTABLE));
    Assert.assertEquals(new IntValue(10), context.aggregatedValue(MockMasterComputation.AGGR_INT_UNSTABLE));
    Assert.assertEquals(new IntValue(10), context.aggregatedValue(MockMasterComputation.AGGR_INT_SUM));
    Assert.assertEquals(new IntValue(8), context.aggregatedValue(MockMasterComputation.AGGR_INT_MAX));
    Assert.assertEquals(new LongValue(10L), context.aggregatedValue(MockMasterComputation.AGGR_LONG_SUM));
    Assert.assertEquals(new LongValue(8L), context.aggregatedValue(MockMasterComputation.AGGR_LONG_MAX));
    Assert.assertEquals(new FloatValue(20.8f), context.aggregatedValue(MockMasterComputation.AGGR_FLOAT_SUM));
    Assert.assertEquals(new FloatValue(-10.0f), context.aggregatedValue(MockMasterComputation.AGGR_FLOAT_MIN));
    Assert.assertEquals(new DoubleValue(20.8), context.aggregatedValue(MockMasterComputation.AGGR_DOUBLE_SUM));
    Assert.assertEquals(new DoubleValue(-10.0), context.aggregatedValue(MockMasterComputation.AGGR_DOUBLE_MIN));
}
Also used : DoubleValue(com.baidu.hugegraph.computer.core.graph.value.DoubleValue) LongValue(com.baidu.hugegraph.computer.core.graph.value.LongValue) FloatValue(com.baidu.hugegraph.computer.core.graph.value.FloatValue) IntValue(com.baidu.hugegraph.computer.core.graph.value.IntValue)

Example 3 with IntValue

use of com.baidu.hugegraph.computer.core.graph.value.IntValue in project hugegraph-computer by hugegraph.

the class MockComputation method createAndRunAggregators.

protected void createAndRunAggregators(WorkerContext context) {
    // AGGR_CUSTOM_INT
    this.aggrCustomInt = context.createAggregator(MockMasterComputation.AGGR_CUSTOM_INT);
    Assert.assertEquals(new IntValue(0), this.aggrCustomInt.aggregatedValue());
    this.aggrCustomInt.aggregateValue(1);
    Assert.assertEquals(new IntValue(1), this.aggrCustomInt.aggregatedValue());
    this.aggrCustomInt.aggregateValue(new IntValue(1));
    Assert.assertEquals(new IntValue(2), this.aggrCustomInt.aggregatedValue());
    this.aggrCustomInt.aggregateValue(3);
    Assert.assertEquals(new IntValue(5), this.aggrCustomInt.aggregatedValue());
    // AGGR_CUSTOM_FLOAT
    this.aggrCustomFloat = context.createAggregator(MockMasterComputation.AGGR_CUSTOM_FLOAT);
    Assert.assertEquals(new FloatValue(0f), this.aggrCustomFloat.aggregatedValue());
    this.aggrCustomFloat.aggregateValue(1f);
    Assert.assertEquals(new FloatValue(1f), this.aggrCustomFloat.aggregatedValue());
    this.aggrCustomFloat.aggregateValue(new FloatValue(1f));
    Assert.assertEquals(new FloatValue(2f), this.aggrCustomFloat.aggregatedValue());
    this.aggrCustomFloat.aggregateValue(3.2f);
    Assert.assertEquals(new FloatValue(5.2f), this.aggrCustomFloat.aggregatedValue());
    // AGGR_INT_SUM
    this.aggrIntSum = context.createAggregator(MockMasterComputation.AGGR_INT_SUM);
    Assert.assertEquals(new IntValue(0), this.aggrIntSum.aggregatedValue());
    this.aggrIntSum.aggregateValue(1);
    Assert.assertEquals(new IntValue(1), this.aggrIntSum.aggregatedValue());
    this.aggrIntSum.aggregateValue(new IntValue(1));
    Assert.assertEquals(new IntValue(2), this.aggrIntSum.aggregatedValue());
    this.aggrIntSum.aggregateValue(3);
    Assert.assertEquals(new IntValue(5), this.aggrIntSum.aggregatedValue());
    // AGGR_INT_MAX
    this.aggrIntMax = context.createAggregator(MockMasterComputation.AGGR_INT_MAX);
    Assert.assertEquals(new IntValue(0), this.aggrIntMax.aggregatedValue());
    this.aggrIntMax.aggregateValue(1);
    Assert.assertEquals(new IntValue(1), this.aggrIntMax.aggregatedValue());
    this.aggrIntMax.aggregateValue(8);
    Assert.assertEquals(new IntValue(8), this.aggrIntMax.aggregatedValue());
    this.aggrIntMax.aggregateValue(3);
    Assert.assertEquals(new IntValue(8), this.aggrIntMax.aggregatedValue());
    // AGGR_LONG_SUM
    this.aggrLongSum = context.createAggregator(MockMasterComputation.AGGR_LONG_SUM);
    Assert.assertEquals(new LongValue(0L), this.aggrLongSum.aggregatedValue());
    this.aggrLongSum.aggregateValue(1L);
    Assert.assertEquals(new LongValue(1L), this.aggrLongSum.aggregatedValue());
    this.aggrLongSum.aggregateValue(new LongValue(1L));
    Assert.assertEquals(new LongValue(2L), this.aggrLongSum.aggregatedValue());
    this.aggrLongSum.aggregateValue(3L);
    Assert.assertEquals(new LongValue(5L), this.aggrLongSum.aggregatedValue());
    // AGGR_LONG_MAX
    this.aggrLongMax = context.createAggregator(MockMasterComputation.AGGR_LONG_MAX);
    Assert.assertEquals(new LongValue(0L), this.aggrLongMax.aggregatedValue());
    this.aggrLongMax.aggregateValue(1L);
    Assert.assertEquals(new LongValue(1L), this.aggrLongMax.aggregatedValue());
    this.aggrLongMax.aggregateValue(8L);
    Assert.assertEquals(new LongValue(8L), this.aggrLongMax.aggregatedValue());
    this.aggrLongMax.aggregateValue(3L);
    Assert.assertEquals(new LongValue(8L), this.aggrLongMax.aggregatedValue());
    // AGGR_FLOAT_SUM
    this.aggrFloatSum = context.createAggregator(MockMasterComputation.AGGR_FLOAT_SUM);
    Assert.assertEquals(new FloatValue(0.0f), this.aggrFloatSum.aggregatedValue());
    this.aggrFloatSum.aggregateValue(1.1f);
    Assert.assertEquals(new FloatValue(1.1f), this.aggrFloatSum.aggregatedValue());
    this.aggrFloatSum.aggregateValue(2.3f);
    Assert.assertEquals(new FloatValue(3.4f), this.aggrFloatSum.aggregatedValue());
    this.aggrFloatSum.aggregateValue(7.0f);
    Assert.assertEquals(new FloatValue(10.4f), this.aggrFloatSum.aggregatedValue());
    // AGGR_FLOAT_MIN
    this.aggrFloatMin = context.createAggregator(MockMasterComputation.AGGR_FLOAT_MIN);
    Assert.assertEquals(new FloatValue(0.0f), this.aggrFloatMin.aggregatedValue());
    this.aggrFloatMin.aggregateValue(1.1f);
    Assert.assertEquals(new FloatValue(0.0f), this.aggrFloatMin.aggregatedValue());
    this.aggrFloatMin.aggregateValue(-10.0f);
    Assert.assertEquals(new FloatValue(-10.0f), this.aggrFloatMin.aggregatedValue());
    this.aggrFloatMin.aggregateValue(-4.0f);
    Assert.assertEquals(new FloatValue(-10.0f), this.aggrFloatMin.aggregatedValue());
    // AGGR_DOUBLE_SUM
    this.aggrDoubleSum = context.createAggregator(MockMasterComputation.AGGR_DOUBLE_SUM);
    Assert.assertEquals(new DoubleValue(0.0), this.aggrDoubleSum.aggregatedValue());
    this.aggrDoubleSum.aggregateValue(1.1);
    Assert.assertEquals(new DoubleValue(1.1), this.aggrDoubleSum.aggregatedValue());
    this.aggrDoubleSum.aggregateValue(2.3);
    Assert.assertEquals(new DoubleValue(3.4), this.aggrDoubleSum.aggregatedValue());
    this.aggrDoubleSum.aggregateValue(7.0);
    Assert.assertEquals(new DoubleValue(10.4), this.aggrDoubleSum.aggregatedValue());
    // AGGR_DOUBLE_MIN
    this.aggrDoubleMin = context.createAggregator(MockMasterComputation.AGGR_DOUBLE_MIN);
    Assert.assertEquals(new DoubleValue(0.0), this.aggrDoubleMin.aggregatedValue());
    this.aggrDoubleMin.aggregateValue(1.1);
    Assert.assertEquals(new DoubleValue(0.0), this.aggrDoubleMin.aggregatedValue());
    this.aggrDoubleMin.aggregateValue(-10.0);
    Assert.assertEquals(new DoubleValue(-10.0), this.aggrDoubleMin.aggregatedValue());
    this.aggrDoubleMin.aggregateValue(-4.0);
    Assert.assertEquals(new DoubleValue(-10.0), this.aggrDoubleMin.aggregatedValue());
}
Also used : DoubleValue(com.baidu.hugegraph.computer.core.graph.value.DoubleValue) LongValue(com.baidu.hugegraph.computer.core.graph.value.LongValue) FloatValue(com.baidu.hugegraph.computer.core.graph.value.FloatValue) IntValue(com.baidu.hugegraph.computer.core.graph.value.IntValue)

Example 4 with IntValue

use of com.baidu.hugegraph.computer.core.graph.value.IntValue in project hugegraph-computer by hugegraph.

the class MockComputation method assertStep0Aggregators.

protected void assertStep0Aggregators(WorkerContext context) {
    Assert.assertEquals(new IntValue(0), context.aggregatedValue(MockMasterComputation.AGGR_CUSTOM_INT));
    Assert.assertEquals(new FloatValue(0f), context.aggregatedValue(MockMasterComputation.AGGR_CUSTOM_FLOAT));
    Assert.assertEquals(new FloatValue(0f), context.aggregatedValue(MockMasterComputation.AGGR_FLOAT_UNSTABLE));
    Assert.assertEquals(new IntValue(Integer.MAX_VALUE), context.aggregatedValue(MockMasterComputation.AGGR_INT_UNSTABLE));
    Assert.assertEquals(new IntValue(0), context.aggregatedValue(MockMasterComputation.AGGR_INT_SUM));
    Assert.assertEquals(new IntValue(0), context.aggregatedValue(MockMasterComputation.AGGR_INT_MAX));
    Assert.assertEquals(new LongValue(0L), context.aggregatedValue(MockMasterComputation.AGGR_LONG_SUM));
    Assert.assertEquals(new LongValue(0L), context.aggregatedValue(MockMasterComputation.AGGR_LONG_MAX));
    Assert.assertEquals(new FloatValue(0f), context.aggregatedValue(MockMasterComputation.AGGR_FLOAT_SUM));
    Assert.assertEquals(new FloatValue(0f), context.aggregatedValue(MockMasterComputation.AGGR_FLOAT_MIN));
    Assert.assertEquals(new DoubleValue(0d), context.aggregatedValue(MockMasterComputation.AGGR_DOUBLE_SUM));
    Assert.assertEquals(new DoubleValue(0d), context.aggregatedValue(MockMasterComputation.AGGR_DOUBLE_MIN));
}
Also used : DoubleValue(com.baidu.hugegraph.computer.core.graph.value.DoubleValue) LongValue(com.baidu.hugegraph.computer.core.graph.value.LongValue) FloatValue(com.baidu.hugegraph.computer.core.graph.value.FloatValue) IntValue(com.baidu.hugegraph.computer.core.graph.value.IntValue)

Example 5 with IntValue

use of com.baidu.hugegraph.computer.core.graph.value.IntValue in project hugegraph-computer by hugegraph.

the class MockComputation method assertAggregateValueWithError.

private void assertAggregateValueWithError(WorkerContext context) {
    Assert.assertThrows(IllegalArgumentException.class, () -> {
        context.aggregateValue(MockMasterComputation.AGGR_INT_SUM, this.aggrLongSum.aggregatedValue());
    }, e -> {
        Assert.assertContains("Can't set long value '5' to int aggregator", e.getMessage());
    });
    Assert.assertThrows(IllegalArgumentException.class, () -> {
        context.aggregateValue(MockMasterComputation.AGGR_LONG_SUM, this.aggrIntSum.aggregatedValue());
    }, e -> {
        Assert.assertContains("Can't set int value '5' to long aggregator", e.getMessage());
    });
    Assert.assertThrows(IllegalArgumentException.class, () -> {
        context.aggregateValue(MockMasterComputation.AGGR_DOUBLE_SUM, this.aggrFloatSum.aggregatedValue());
    }, e -> {
        Assert.assertContains("Can't set float value '10.4' to double ", e.getMessage());
    });
    Assert.assertThrows(ClassCastException.class, () -> {
        context.aggregateValue(MockMasterComputation.AGGR_CUSTOM_FLOAT, new IntValue(7));
    }, e -> {
        Assert.assertContains("IntValue cannot be cast to", e.getMessage());
        Assert.assertContains("FloatValue", e.getMessage());
    });
}
Also used : IntValue(com.baidu.hugegraph.computer.core.graph.value.IntValue)

Aggregations

IntValue (com.baidu.hugegraph.computer.core.graph.value.IntValue)34 FloatValue (com.baidu.hugegraph.computer.core.graph.value.FloatValue)15 DoubleValue (com.baidu.hugegraph.computer.core.graph.value.DoubleValue)14 LongValue (com.baidu.hugegraph.computer.core.graph.value.LongValue)13 Test (org.junit.Test)12 PointerCombiner (com.baidu.hugegraph.computer.core.combiner.PointerCombiner)10 IntValueSumCombiner (com.baidu.hugegraph.computer.core.combiner.IntValueSumCombiner)9 Sorter (com.baidu.hugegraph.computer.core.sort.Sorter)7 CombineKvOuterSortFlusher (com.baidu.hugegraph.computer.core.sort.flusher.CombineKvOuterSortFlusher)6 GraphFactory (com.baidu.hugegraph.computer.core.graph.GraphFactory)4 BooleanValue (com.baidu.hugegraph.computer.core.graph.value.BooleanValue)4 Vertex (com.baidu.hugegraph.computer.core.graph.vertex.Vertex)4 BytesInput (com.baidu.hugegraph.computer.core.io.BytesInput)4 BytesOutput (com.baidu.hugegraph.computer.core.io.BytesOutput)4 CombineKvInnerSortFlusher (com.baidu.hugegraph.computer.core.sort.flusher.CombineKvInnerSortFlusher)4 OuterSortFlusher (com.baidu.hugegraph.computer.core.sort.flusher.OuterSortFlusher)4 Config (com.baidu.hugegraph.computer.core.config.Config)3 Properties (com.baidu.hugegraph.computer.core.graph.properties.Properties)3 InnerSortFlusher (com.baidu.hugegraph.computer.core.sort.flusher.InnerSortFlusher)3 KvEntry (com.baidu.hugegraph.computer.core.store.entry.KvEntry)3