Class ColumnEncoderComposite
java.lang.Object
org.apache.sysds.runtime.transform.encode.ColumnEncoder
org.apache.sysds.runtime.transform.encode.ColumnEncoderComposite
- All Implemented Interfaces:
Externalizable,Serializable,Comparable<ColumnEncoder>,Encoder
Simple composite encoder that applies a list of encoders in specified order. By implementing the default encoder API
it can be used as a drop-in replacement for any other encoder.
- See Also:
-
Nested Class Summary
Nested classes/interfaces inherited from class org.apache.sysds.runtime.transform.encode.ColumnEncoder
ColumnEncoder.EncoderType -
Field Summary
Fields inherited from class org.apache.sysds.runtime.transform.encode.ColumnEncoder
APPLY_ROW_BLOCKS_PER_COLUMN, BUILD_ROW_BLOCKS_PER_COLUMN -
Constructor Summary
ConstructorsConstructorDescriptionColumnEncoderComposite(List<ColumnEncoder> columnEncoders) ColumnEncoderComposite(List<ColumnEncoder> columnEncoders, int colID) ColumnEncoderComposite(List<ColumnEncoder> columnEncoders, FrameBlock meta) ColumnEncoderComposite(ColumnEncoder columnEncoder) -
Method Summary
Modifier and TypeMethodDescriptionvoidaddEncoder(ColumnEncoder other) voidallocateMetaData(FrameBlock meta) Pre-allocate a FrameBlock for metadata collection.apply(CacheBlock<?> in, MatrixBlock out, int outputCol, int rowStart, int blk) voidbuild(CacheBlock<?> in) Build the transform meta data for the given block input.voidbuild(CacheBlock<?> in, Map<Integer, double[]> equiHeightMaxs) voidPartial build of internal data structures (e.g., in distributed spark operations).voidcomputeMapSizeEstimate(CacheBlock<?> in, int[] sampleIndices) booleanList<DependencyTask<?>>getApplyTasks(CacheBlock<?> in, MatrixBlock out, int outputCol, int[] sparseRowPointerOffsets) longList<DependencyTask<?>>getBuildTasks(CacheBlock<?> in) int<T extends ColumnEncoder>
TgetEncoder(Class<T> type) getMetaData(FrameBlock out) Construct a frame block out of the transform meta data.<T extends ColumnEncoder>
booleanhasBuild()<T extends ColumnEncoder>
booleanhasEncoder(Class<T> type) inthashCode()voidinitEmbeddings(MatrixBlock embeddings) voidinitMetaData(FrameBlock out) Sets up the required meta data for a subsequent call to apply.booleanisBin()booleanbooleanbooleanisHash()booleanbooleanbooleanisRecode()booleanvoidmergeAt(ColumnEncoder other) Merges another encoder, of a compatible type, in after a certain position.voidAllocates internal data structures for partial build.voidRedirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd deserialization.voidsetNumPartitions(int nBuild, int nApply) voidshiftCol(int columnOffset) toString()voidvoidupdateIndexRanges(long[] beginDims, long[] endDims, int colOffset) Update index-ranges to after encoding.voidRedirects 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, build, compareTo, getBuildTask, getColID, getColMapping, getEstMetaSize, getEstNumDistincts, getPartialBuildTask, getPartialMergeBuildTask, isApplicable, isApplicable, setColID, setEstMetaSize, setEstNumDistincts
-
Constructor Details
-
ColumnEncoderComposite
public ColumnEncoderComposite() -
ColumnEncoderComposite
-
ColumnEncoderComposite
-
ColumnEncoderComposite
-
ColumnEncoderComposite
-
-
Method Details
-
getEncoders
-
getEncoder
-
isEncoder
-
build
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
- Overrides:
buildin classColumnEncoder
-
getApplyTasks
public List<DependencyTask<?>> getApplyTasks(CacheBlock<?> in, MatrixBlock out, int outputCol, int[] sparseRowPointerOffsets) - Overrides:
getApplyTasksin classColumnEncoder
-
getBuildTasks
- Overrides:
getBuildTasksin classColumnEncoder
-
prepareBuildPartial
public void prepareBuildPartial()Description copied from class:ColumnEncoderAllocates internal data structures for partial build.- Specified by:
prepareBuildPartialin interfaceEncoder- Overrides:
prepareBuildPartialin classColumnEncoder
-
buildPartial
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
-
apply
- Overrides:
applyin classColumnEncoder
-
equals
-
hashCode
public int hashCode() -
mergeAt
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
-
updateAllDCEncoders
public void updateAllDCEncoders() -
addEncoder
-
updateIndexRanges
public void updateIndexRanges(long[] beginDims, long[] endDims, int colOffset) Description copied from class:ColumnEncoderUpdate index-ranges to after encoding. Note that only Dummycoding changes the ranges.- Specified by:
updateIndexRangesin interfaceEncoder- Overrides:
updateIndexRangesin classColumnEncoder- Parameters:
beginDims- begin dimensions of rangeendDims- end dimensions of rangecolOffset- is applied to begin and endDims
-
allocateMetaData
Description copied from interface:EncoderPre-allocate a FrameBlock for metadata collection.- Parameters:
meta- frame block
-
getMetaData
Description copied from interface:EncoderConstruct a frame block out of the transform meta data.- Parameters:
out- output frame block- Returns:
- output frame block?
-
initMetaData
Description copied from interface:EncoderSets up the required meta data for a subsequent call to apply.- Parameters:
out- frame block
-
initEmbeddings
- Overrides:
initEmbeddingsin classColumnEncoder
-
toString
-
writeExternal
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
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
-
hasEncoder
-
hasBuild
-
computeMapSizeEstimate
- Overrides:
computeMapSizeEstimatein classColumnEncoder
-
getAvgEntrySize
public long getAvgEntrySize() -
setNumPartitions
public void setNumPartitions(int nBuild, int nApply) -
shiftCol
public void shiftCol(int columnOffset) - Overrides:
shiftColin classColumnEncoder
-
getDomainSize
public int getDomainSize()- Overrides:
getDomainSizein classColumnEncoder
-
isRecodeToDummy
public boolean isRecodeToDummy() -
isRecode
public boolean isRecode() -
isPassThrough
public boolean isPassThrough() -
isBin
public boolean isBin() -
isBinToDummy
public boolean isBinToDummy() -
isHash
public boolean isHash() -
isHashToDummy
public boolean isHashToDummy()
-