Class ColumnEncoderRecode
- java.lang.Object
-
- org.apache.sysds.runtime.transform.encode.ColumnEncoder
-
- org.apache.sysds.runtime.transform.encode.ColumnEncoderRecode
-
- All Implemented Interfaces:
Externalizable,Serializable,Comparable<ColumnEncoder>,Encoder
public class ColumnEncoderRecode extends ColumnEncoder
- See Also:
- Serialized Form
-
-
Nested Class Summary
-
Nested classes/interfaces inherited from class org.apache.sysds.runtime.transform.encode.ColumnEncoder
ColumnEncoder.EncoderType
-
-
Field Summary
Fields Modifier and Type Field Description static booleanSORT_RECODE_MAP-
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 ColumnEncoderRecode()ColumnEncoderRecode(int colID)
-
Method Summary
All Methods Static 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.voidbuildPartial(FrameBlock in)Partial build of internal data structures (e.g., in distributed spark operations).voidcomputeRCDMapSizeEstimate(CacheBlock in, int[] sampleIndices)static StringconstructRecodeMapEntry(String token, Long code)Returns the Recode map entry which consists of concatenation of code, delimiter and token.booleanequals(Object o)Callable<Object>getBuildTask(CacheBlock in)HashMap<String,Long>getCPRecodeMaps()HashSet<Object>getCPRecodeMapsPartial()FrameBlockgetMetaData(FrameBlock meta)Construct a frame block out of the transform meta data.intgetNumDistinctValues()Callable<Object>getPartialBuildTask(CacheBlock in, int startRow, int blockSize, HashMap<Integer,Object> ret)Callable<Object>getPartialMergeBuildTask(HashMap<Integer,?> ret)HashMap<String,Long>getRcdMap()inthashCode()voidinitMetaData(FrameBlock meta)Construct the recodemaps from the given input frame for all columns registered for recode.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.voidsortCPRecodeMaps()static String[]splitRecodeMapEntry(String value)Splits a Recode map entry into its token and code.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, build, compareTo, getApplyTasks, getBuildTasks, getColID, getColMapping, getEstMetaSize, getEstNumDistincts, getSparseRowsWZeros, isApplicable, isApplicable, setColID, setEstMetaSize, setEstNumDistincts, shiftCol, updateIndexRanges
-
-
-
-
Method Detail
-
constructRecodeMapEntry
public static String constructRecodeMapEntry(String token, Long code)
Returns the Recode map entry which consists of concatenation of code, delimiter and token.- Parameters:
token- is part of Recode mapcode- is code for token- Returns:
- the concatenation of token and code with delimiter in between
-
splitRecodeMapEntry
public static String[] splitRecodeMapEntry(String value)
Splits a Recode map entry into its token and code.- Parameters:
value- concatenation of token and code with delimiter in between- Returns:
- string array of token and code
-
sortCPRecodeMaps
public void sortCPRecodeMaps()
-
computeRCDMapSizeEstimate
public void computeRCDMapSizeEstimate(CacheBlock in, int[] sampleIndices)
-
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
-
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)
- Overrides:
getPartialBuildTaskin classColumnEncoder
-
getPartialMergeBuildTask
public Callable<Object> getPartialMergeBuildTask(HashMap<Integer,?> ret)
- Overrides:
getPartialMergeBuildTaskin classColumnEncoder
-
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
-
getNumDistinctValues
public int getNumDistinctValues()
-
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)
Construct the recodemaps from the given input frame for all columns registered for recode.- 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
-
-