Class ColumnEncoderBin
- java.lang.Object
 - 
- org.apache.sysds.runtime.transform.encode.ColumnEncoder
 - 
- org.apache.sysds.runtime.transform.encode.ColumnEncoderBin
 
 
 
- 
- All Implemented Interfaces:
 Externalizable,Serializable,Comparable<ColumnEncoder>,Encoder
public class ColumnEncoderBin extends ColumnEncoder
- See Also:
 - Serialized Form
 
 
- 
- 
Nested Class Summary
Nested Classes Modifier and Type Class Description static classColumnEncoderBin.BinMethod- 
Nested classes/interfaces inherited from class org.apache.sysds.runtime.transform.encode.ColumnEncoder
ColumnEncoder.EncoderType 
 - 
 
- 
Field Summary
Fields Modifier and Type Field Description static StringMAX_PREFIXstatic StringMIN_PREFIXstatic intMINIMUM_SAMPLE_SIZEstatic StringNBINS_PREFIXstatic doubleSAMPLE_FRACTION- 
Fields inherited from class org.apache.sysds.runtime.transform.encode.ColumnEncoder
APPLY_ROW_BLOCKS_PER_COLUMN, BUILD_ROW_BLOCKS_PER_COLUMN 
 - 
 
- 
Constructor Summary
Constructors Constructor Description ColumnEncoderBin()ColumnEncoderBin(int colID, int numBin, double[] binMins, double[] binMaxs)ColumnEncoderBin(int colID, int numBin, ColumnEncoderBin.BinMethod binMethod) 
- 
Method Summary
All Methods Instance Methods Concrete Methods Modifier and Type Method Description voidallocateMetaData(FrameBlock meta)Pre-allocate a FrameBlock for metadata collection.voidbuild(CacheBlock<?> in)Build the transform meta data for the given block input.voidbuild(CacheBlock<?> in, double[] equiHeightMaxs)voidbuildPartial(FrameBlock in)Partial build of internal data structures (e.g., in distributed spark operations).voidcomputeBins(double min, double max)double[]getBinMaxs()ColumnEncoderBin.BinMethodgetBinMethod()double[]getBinMins()Callable<Object>getBuildTask(CacheBlock<?> in)doublegetColMaxs()doublegetColMins()FrameBlockgetMetaData(FrameBlock meta)Construct a frame block out of the transform meta data.intgetNumBin()Callable<Object>getPartialBuildTask(CacheBlock<?> in, int startRow, int blockSize, HashMap<Integer,Object> ret, int p)Callable<Object>getPartialMergeBuildTask(HashMap<Integer,?> ret)voidinitMetaData(FrameBlock meta)Sets up the required meta data for a subsequent call to apply.voidmergeAt(ColumnEncoder other)Merges another encoder, of a compatible type, in after a certain position.voidprepareBuildPartial()Allocates internal data structures for partial build.voidreadExternal(ObjectInput in)Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd deserialization.voidsetBinMethod(String method)StringtoString()voidwriteExternal(ObjectOutput out)Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd serialization.- 
Methods inherited from class org.apache.sysds.runtime.transform.encode.ColumnEncoder
apply, apply, build, compareTo, computeMapSizeEstimate, getApplyTasks, getBuildTasks, getColID, getColMapping, getDomainSize, getEstMetaSize, getEstNumDistincts, initEmbeddings, isApplicable, isApplicable, setColID, setEstMetaSize, setEstNumDistincts, shiftCol, updateIndexRanges 
 - 
 
 - 
 
- 
- 
Field Detail
- 
MIN_PREFIX
public static final String MIN_PREFIX
- See Also:
 - Constant Field Values
 
 
- 
MAX_PREFIX
public static final String MAX_PREFIX
- See Also:
 - Constant Field Values
 
 
- 
NBINS_PREFIX
public static final String NBINS_PREFIX
- See Also:
 - Constant Field Values
 
 
- 
SAMPLE_FRACTION
public static final double SAMPLE_FRACTION
- See Also:
 - Constant Field Values
 
 
- 
MINIMUM_SAMPLE_SIZE
public static final int MINIMUM_SAMPLE_SIZE
- See Also:
 - Constant Field Values
 
 
 - 
 
- 
Constructor Detail
- 
ColumnEncoderBin
public ColumnEncoderBin()
 
- 
ColumnEncoderBin
public ColumnEncoderBin(int colID, int numBin, ColumnEncoderBin.BinMethod binMethod) 
- 
ColumnEncoderBin
public ColumnEncoderBin(int colID, int numBin, double[] binMins, double[] binMaxs) 
 - 
 
- 
Method Detail
- 
getNumBin
public int getNumBin()
 
- 
getColMins
public double getColMins()
 
- 
getColMaxs
public double getColMaxs()
 
- 
getBinMins
public double[] getBinMins()
 
- 
getBinMaxs
public double[] getBinMaxs()
 
- 
getBinMethod
public ColumnEncoderBin.BinMethod getBinMethod()
 
- 
setBinMethod
public void setBinMethod(String method)
 
- 
build
public void build(CacheBlock<?> in)
Description copied from interface:EncoderBuild the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.- Parameters:
 in- input frame block
 
- 
build
public void build(CacheBlock<?> in, double[] equiHeightMaxs)
- Overrides:
 buildin classColumnEncoder
 
- 
getBuildTask
public Callable<Object> getBuildTask(CacheBlock<?> in)
- Overrides:
 getBuildTaskin classColumnEncoder
 
- 
getPartialBuildTask
public Callable<Object> getPartialBuildTask(CacheBlock<?> in, int startRow, int blockSize, HashMap<Integer,Object> ret, int p)
- Overrides:
 getPartialBuildTaskin classColumnEncoder
 
- 
getPartialMergeBuildTask
public Callable<Object> getPartialMergeBuildTask(HashMap<Integer,?> ret)
- Overrides:
 getPartialMergeBuildTaskin classColumnEncoder
 
- 
computeBins
public void computeBins(double min, double max) 
- 
prepareBuildPartial
public void prepareBuildPartial()
Description copied from class:ColumnEncoderAllocates internal data structures for partial build.- Specified by:
 prepareBuildPartialin interfaceEncoder- Overrides:
 prepareBuildPartialin classColumnEncoder
 
- 
buildPartial
public void buildPartial(FrameBlock in)
Description copied from class:ColumnEncoderPartial build of internal data structures (e.g., in distributed spark operations).- Specified by:
 buildPartialin interfaceEncoder- Overrides:
 buildPartialin classColumnEncoder- Parameters:
 in- input frame block
 
- 
mergeAt
public void mergeAt(ColumnEncoder other)
Description copied from class:ColumnEncoderMerges another encoder, of a compatible type, in after a certain position. Resizes as necessary.ColumnEncodersare compatible with themselves andEncoderCompositeis compatible with every otherColumnEncoders.MultiColumnEncodersare compatible with every encoder- Overrides:
 mergeAtin classColumnEncoder- Parameters:
 other- the encoder that should be merged in
 
- 
allocateMetaData
public void allocateMetaData(FrameBlock meta)
Description copied from interface:EncoderPre-allocate a FrameBlock for metadata collection.- Parameters:
 meta- frame block
 
- 
getMetaData
public FrameBlock getMetaData(FrameBlock meta)
Description copied from interface:EncoderConstruct a frame block out of the transform meta data.- Parameters:
 meta- output frame block- Returns:
 - output frame block?
 
 
- 
initMetaData
public void initMetaData(FrameBlock meta)
Description copied from interface:EncoderSets up the required meta data for a subsequent call to apply.- Parameters:
 meta- frame block
 
- 
writeExternal
public void writeExternal(ObjectOutput out) throws IOException
Description copied from class:ColumnEncoderRedirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd serialization.- Specified by:
 writeExternalin interfaceExternalizable- Overrides:
 writeExternalin classColumnEncoder- Parameters:
 out- object output- Throws:
 IOException- if IOException occurs
 
- 
readExternal
public void readExternal(ObjectInput in) throws IOException
Description copied from class:ColumnEncoderRedirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd deserialization.- Specified by:
 readExternalin interfaceExternalizable- Overrides:
 readExternalin classColumnEncoder- Parameters:
 in- object input- Throws:
 IOException- if IOException occur
 
 - 
 
 -