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
`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
`ColumnEncoderFeatureHash()`
`ColumnEncoderFeatureHash​(int colID, long K)`

### Method Summary

All Methods Instance Methods Concrete Methods
`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 Detail

#### ColumnEncoderFeatureHash

    public ColumnEncoderFeatureHash​(int colID,
                                    long K)

#### ColumnEncoderFeatureHash

    public ColumnEncoderFeatureHash()

### Method Detail

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