Class: Accumulable

eclairjs.Accumulable

new Accumulable(initialValue, param, name)

A data type that can be accumulated, ie has an commutative and associative "add" operation, but where the result type, `R`, may be different from the element type being added, `T`. You must define how to add data, and how to merge two of these together. For some data types, such as a counter, these might be the same operation. In that case, you can use the simpler Accumulator. They won't always be the same, though -- e.g., imagine you are accumulating a set. You will add items to the set, and you will union two sets together.
Parameters:
Name Type Description
initialValue object initial value of accumulator
param module:eclairjs.AccumulableParam helper object defining how to add elements
name string human-readable name for use in Spark's web UI
Source:

Methods

add(term) → {Promise.<Void>}

Add more data to this accumulator / accumulable
Parameters:
Name Type Description
term object the data to add
Source:
Returns:
A Promise that resolves to nothing.
Type
Promise.<Void>

localValue() → {Promise.<Number>}

Get the current value of this accumulator from within a task. This is NOT the global value of the accumulator. To get the global value after a completed operation on the dataset, call `value`. The typical use of this method is to directly mutate the local value, eg., to add an element to a Set.
Source:
Returns:
Type
Promise.<Number>

merge(term) → {Promise.<Void>}

Merge two accumulable objects together Normally, a user will not want to use this version, but will instead call `add`.
Parameters:
Name Type Description
term object the other `R` that will get merged with this
Source:
Returns:
A Promise that resolves to nothing.
Type
Promise.<Void>

setValue(newValue) → {Promise.<Void>}

Set the accumulator's value; only allowed on master
Parameters:
Name Type Description
newValue object
Source:
Returns:
A Promise that resolves to nothing.
Type
Promise.<Void>

toString() → {Promise.<string>}

Source:
Returns:
Type
Promise.<string>

value() → {Promise.<Number>}

Access the accumulator's current value; only allowed on master.
Source:
Returns:
Type
Promise.<Number>