diff options
author | Matei Zaharia <matei@eecs.berkeley.edu> | 2013-01-07 16:50:23 -0500 |
---|---|---|
committer | Matei Zaharia <matei@eecs.berkeley.edu> | 2013-01-07 16:50:23 -0500 |
commit | 9c32f300fb4151a2b563bf3d2e46469722e016e1 (patch) | |
tree | 50a5f3d65f45693a27394b9482c83e7964305d98 | |
parent | 8fd3a70c188182105f81f5143ec65e74663582d5 (diff) | |
download | spark-9c32f300fb4151a2b563bf3d2e46469722e016e1.tar.gz spark-9c32f300fb4151a2b563bf3d2e46469722e016e1.tar.bz2 spark-9c32f300fb4151a2b563bf3d2e46469722e016e1.zip |
Add Accumulable.setValue for easier use in Java
-rw-r--r-- | core/src/main/scala/spark/Accumulators.scala | 20 | ||||
-rw-r--r-- | core/src/test/scala/spark/JavaAPISuite.java | 4 |
2 files changed, 19 insertions, 5 deletions
diff --git a/core/src/main/scala/spark/Accumulators.scala b/core/src/main/scala/spark/Accumulators.scala index 6280f25391..b644aba5f8 100644 --- a/core/src/main/scala/spark/Accumulators.scala +++ b/core/src/main/scala/spark/Accumulators.scala @@ -63,9 +63,12 @@ class Accumulable[R, T] ( /** * Access the accumulator's current value; only allowed on master. */ - def value = { - if (!deserialized) value_ - else throw new UnsupportedOperationException("Can't read accumulator value in task") + def value: R = { + if (!deserialized) { + value_ + } else { + throw new UnsupportedOperationException("Can't read accumulator value in task") + } } /** @@ -82,10 +85,17 @@ class Accumulable[R, T] ( /** * Set the accumulator's value; only allowed on master. */ - def value_= (r: R) { - if (!deserialized) value_ = r + def value_= (newValue: R) { + if (!deserialized) value_ = newValue else throw new UnsupportedOperationException("Can't assign accumulator value in task") } + + /** + * Set the accumulator's value; only allowed on master + */ + def setValue(newValue: R) { + this.value = newValue + } // Called by Java when deserializing an object private def readObject(in: ObjectInputStream) { diff --git a/core/src/test/scala/spark/JavaAPISuite.java b/core/src/test/scala/spark/JavaAPISuite.java index 912f8de05d..0817d1146c 100644 --- a/core/src/test/scala/spark/JavaAPISuite.java +++ b/core/src/test/scala/spark/JavaAPISuite.java @@ -624,5 +624,9 @@ public class JavaAPISuite implements Serializable { } }); Assert.assertEquals((Float) 25.0f, floatAccum.value()); + + // Test the setValue method + floatAccum.setValue(5.0f); + Assert.assertEquals((Float) 5.0f, floatAccum.value()); } } |