Package org.apache.sysds.runtime.transform.encode

# Class ColumnEncoderFeatureHash

java.lang.Object
org.apache.sysds.runtime.transform.encode.ColumnEncoder
org.apache.sysds.runtime.transform.encode.ColumnEncoderFeatureHash

All Implemented Interfaces:
  `Externalizable`, `Serializable`, `Comparable<ColumnEncoder>`, `Encoder`

public class ColumnEncoderFeatureHash extends ColumnEncoder
Class used for feature hashing transformation of frames.

See Also:
  - Serialized Form

## Nested Class Summary

Nested Classes
Modifier and Type
Class
Description
`static class`
`ColumnEncoderFeatureHash.FeatureHashSparseApplyTask`

## 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

Constructors
Constructor
Description
`ColumnEncoderFeatureHash()`
`ColumnEncoderFeatureHash(int colID, long K)`

## Method Summary

Modifier and Type
Method
Description
`void`
`allocateMetaData(FrameBlock meta)`
Pre-allocate a FrameBlock for metadata collection.
`void`
`build(CacheBlock<?> in)`
Build the transform meta data for the given block input.
`List<DependencyTask<?>>`
`getBuildTasks(CacheBlock<?> in)`
`long`
`getK()`
`FrameBlock`
`getMetaData(FrameBlock meta)`
Construct a frame block out of the transform meta data.
`void`
`initMetaData(FrameBlock meta)`
Sets up the required meta data for a subsequent call to apply.
`void`
`mergeAt(ColumnEncoder other)`
Merges another encoder, of a compatible type, in after a certain position.
`void`
`readExternal(ObjectInput in)`
Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd deserialization.
`String`
`toString()`
`void`
`writeExternal(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, buildPartial, compareTo, computeMapSizeEstimate, getApplyTasks, getBuildTask, getColID, getColMapping, getDomainSize, getEstMetaSize, getEstNumDistincts, getPartialBuildTask, getPartialMergeBuildTask, initEmbeddings, isApplicable, isApplicable, prepareBuildPartial, setColID, setEstMetaSize, setEstNumDistincts, shiftCol, updateIndexRanges`

### Methods inherited from class java.lang.Object

`equals, getClass, hashCode, notify, notifyAll, wait, wait, wait`

## Constructor Details

### ColumnEncoderFeatureHash

public ColumnEncoderFeatureHash(int colID, long K)

### ColumnEncoderFeatureHash

public ColumnEncoderFeatureHash()

## Method Details

### getK

public long getK()

### build

public void build(CacheBlock<?> in)
Description copied from interface: `Encoder`
Build the transform meta data for the given block input. This call modifies and keeps meta data as encoder state.

Parameters:
  `in` - input frame block

### getBuildTasks

public List<DependencyTask<?>> getBuildTasks(CacheBlock<?> in)

Overrides:
  `getBuildTasks` in class `ColumnEncoder`

### mergeAt

public void mergeAt(ColumnEncoder other)
Description copied from class: `ColumnEncoder`
Merges another encoder, of a compatible type, in after a certain position. Resizes as necessary. `ColumnEncoders` are compatible with themselves and `EncoderComposite` is compatible with every other `ColumnEncoders`. `MultiColumnEncoders` are compatible with every encoder

Overrides:
  `mergeAt` in class `ColumnEncoder`
Parameters:
  `other` - the encoder that should be merged in

### allocateMetaData

public void allocateMetaData(FrameBlock meta)
Description copied from interface: `Encoder`
Pre-allocate a FrameBlock for metadata collection.

Parameters:
  `meta` - frame block

### getMetaData

public FrameBlock getMetaData(FrameBlock meta)
Description copied from interface: `Encoder`
Construct 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: `Encoder`
Sets 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: `ColumnEncoder`
Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd serialization.

Specified by:
  `writeExternal` in interface `Externalizable`
Overrides:
  `writeExternal` in class `ColumnEncoder`
Parameters:
  `out` - object output
Throws:
  `IOException` - if IOException occurs

### readExternal

public void readExternal(ObjectInput in) throws IOException
Description copied from class: `ColumnEncoder`
Redirects the default java serialization via externalizable to our default hadoop writable serialization for efficient broadcast/rdd deserialization.

Specified by:
  `readExternal` in interface `Externalizable`
Overrides:
  `readExternal` in class `ColumnEncoder`
Parameters:
  `in` - object input
Throws:
  `IOException` - if IOException occur

### toString

public String toString()

Overrides:
  `toString` in class `Object`