Skip to content
This repository was archived by the owner on Mar 12, 2018. It is now read-only.

Guideline on writing BEAM programs for Nemo

Won Wook SONG edited this page Feb 21, 2018 · 1 revision

Guideline on writing BEAM programs for Nemo

LoopVertex

Unlike usual BEAM programs, Nemo has a special vertex for handling loops, to determine termination and to provide loop optimizations. In order to use this functionality, the BEAM application developer must wrap the transforms inside a loop with a single composite transform that extends Nemo's LoopCompositeTransform class. Examples can be found in the AlternatingLeastSquare and MultinomialLogisticRegression examples.

Default types that BEAM codecs support

As shown in the BEAM programming guide, below is the list of types that BEAM codecs support. This brings down serialization costs.

Java Type Default Coder
Double DoubleCoder
Instant InstantCoder
Integer VarIntCoder
Iterable IterableCoder
KV KvCoder
List ListCoder
Map MapCoder
Long VarLongCoder
String StringUtf8Coder
TableRow TableRowJsonCoder
Void VoidCoder
byte[ ] ByteArrayCoder
TimestampedValue TimestampedValueCoder