Class Decoder
- java.lang.Object
 - 
- org.apache.sysds.runtime.transform.decode.Decoder
 
 
- 
- All Implemented Interfaces:
 Externalizable,Serializable
- Direct Known Subclasses:
 DecoderBin,DecoderComposite,DecoderDummycode,DecoderPassThrough,DecoderRecode
public abstract class Decoder extends Object implements Externalizable
Base class for all transform decoders providing both a row and block interface for decoding matrices to frames.- See Also:
 - Serialized Form
 
 
- 
- 
Method Summary
All Methods Instance Methods Abstract Methods Concrete Methods Modifier and Type Method Description abstract FrameBlockdecode(MatrixBlock in, FrameBlock out)Block decode API converting a matrix block into a frame block.FrameBlockdecode(MatrixBlock in, FrameBlock out, int k)Block decode API converting a matrix block into a frame block in parallel.abstract voiddecode(MatrixBlock in, FrameBlock out, int rl, int ru)Block decode row blockString[]getColnames()Types.ValueType[]getSchema()abstract voidinitMetaData(FrameBlock meta)voidreadExternal(ObjectInput in)Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd deserialization.voidsetColnames(String[] colnames)DecodersubRangeDecoder(int colStart, int colEnd, int dummycodedOffset)Returns a new Decoder that only handles a sub range of columns.voidupdateIndexRanges(long[] beginDims, long[] endDims)Update index-ranges to after decoding.voidwriteExternal(ObjectOutput os)Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd serialization. 
 - 
 
- 
- 
Method Detail
- 
getSchema
public Types.ValueType[] getSchema()
 
- 
setColnames
public void setColnames(String[] colnames)
 
- 
getColnames
public String[] getColnames()
 
- 
decode
public abstract FrameBlock decode(MatrixBlock in, FrameBlock out)
Block decode API converting a matrix block into a frame block.- Parameters:
 in- Input matrix blockout- Output frame block- Returns:
 - returns given output frame block for convenience
 
 
- 
decode
public FrameBlock decode(MatrixBlock in, FrameBlock out, int k)
Block decode API converting a matrix block into a frame block in parallel.- Parameters:
 in- Input matrix blockout- Output frame blockk- Parallelization degree- Returns:
 - returns the given output frame block for convenience
 
 
- 
decode
public abstract void decode(MatrixBlock in, FrameBlock out, int rl, int ru)
Block decode row block- Parameters:
 in- input Matrix Blockout- output FrameBlockrl- row start to decoderu- row end to decode (not inclusive)
 
- 
subRangeDecoder
public Decoder subRangeDecoder(int colStart, int colEnd, int dummycodedOffset)
Returns a new Decoder that only handles a sub range of columns. The sub-range refers to the columns after decoding.- Parameters:
 colStart- the start index of the sub-range (1-based, inclusive)colEnd- the end index of the sub-range (1-based, exclusive)dummycodedOffset- the offset of dummycoded segments before colStart- Returns:
 - a decoder of the same type, just for the sub-range
 
 
- 
updateIndexRanges
public void updateIndexRanges(long[] beginDims, long[] endDims)Update index-ranges to after decoding. Note that only Dummycoding changes the ranges.- Parameters:
 beginDims- the begin indexes before encodingendDims- the end indexes before encoding
 
- 
initMetaData
public abstract void initMetaData(FrameBlock meta)
 
- 
writeExternal
public void writeExternal(ObjectOutput os) throws IOException
Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd serialization.- Specified by:
 writeExternalin interfaceExternalizable- Parameters:
 os- object output- Throws:
 IOException- if IOException occurs
 
- 
readExternal
public void readExternal(ObjectInput in) throws IOException
Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd deserialization.- Specified by:
 readExternalin interfaceExternalizable- Parameters:
 in- object input- Throws:
 IOException- if IOException occur
 
 - 
 
 -