Class ACLAScheme
java.lang.Object
org.apache.sysds.runtime.compress.colgroup.scheme.ACLAScheme
- All Implemented Interfaces:
Cloneable,ICLAScheme
- Direct Known Subclasses:
ConstScheme,DDCScheme,EmptyScheme,RLEScheme,SDCScheme,UncompressedScheme
-
Field Summary
Fields inherited from interface org.apache.sysds.runtime.compress.colgroup.scheme.ICLAScheme
LOG -
Method Summary
Modifier and TypeMethodDescriptionabstract ACLASchemeclone()final AColGroupencode(MatrixBlock data) Encode the given matrix block into the scheme provided in the instance.final AColGroupencode(MatrixBlock data, IColIndex columns) Encode a given matrix block into the scheme provided in the instance but overwrite what columns to use.final AColGroupencodeT(MatrixBlock data) Encode the given matrix block into the scheme provided in the instance, the input data is transposed The method is unsafe in the sense that if the encoding scheme does not fit, there is no guarantee that an error is thrown.final AColGroupencodeT(MatrixBlock data, IColIndex columns) Encode a given matrix block into the scheme provided in the instance but overwrite what columns to use.final ICLASchemeupdate(MatrixBlock data) Update the encoding scheme to enable compression of the given data.final ICLASchemeupdate(MatrixBlock data, IColIndex columns) Update the encoding scheme to enable compression of the given data.final Pair<ICLAScheme,AColGroup> updateAndEncode(MatrixBlock data) Update and encode the given block in a single pass.final Pair<ICLAScheme,AColGroup> updateAndEncode(MatrixBlock data, IColIndex columns) Try to update and encode in a single pass over the data.final Pair<ICLAScheme,AColGroup> updateAndEncodeT(MatrixBlock data) Update and encode the given block in a single pass.final Pair<ICLAScheme,AColGroup> updateAndEncodeT(MatrixBlock data, IColIndex columns) Try to update and encode in a single pass over the data.final ICLASchemeupdateT(MatrixBlock data) Update the encoding scheme to enable compression of the given data.final ICLASchemeupdateT(MatrixBlock data, IColIndex columns) Update the encoding scheme to enable compression of the given data.
-
Method Details
-
encode
Description copied from interface:ICLASchemeEncode the given matrix block into the scheme provided in the instance. The method is unsafe in the sense that if the encoding scheme does not fit, there is no guarantee that an error is thrown. To guarantee the encoding scheme, first use update on the matrix block and used the returned scheme to ensure consistency.- Specified by:
encodein interfaceICLAScheme- Parameters:
data- The data to encode- Returns:
- A compressed column group forced to use the scheme provided.
-
encode
Description copied from interface:ICLASchemeEncode a given matrix block into the scheme provided in the instance but overwrite what columns to use. The method is unsafe in the sense that if the encoding scheme does not fit, there is no guarantee that an error is thrown. To guarantee the encoding scheme, first use update on the matrix block and used the returned scheme to ensure consistency.- Specified by:
encodein interfaceICLAScheme- Parameters:
data- The data to encodecolumns- The columns to apply the scheme to, but must be of same number than the encoded scheme- Returns:
- A compressed column group forced to use the scheme provided.
-
encodeT
Description copied from interface:ICLASchemeEncode the given matrix block into the scheme provided in the instance, the input data is transposed The method is unsafe in the sense that if the encoding scheme does not fit, there is no guarantee that an error is thrown. To guarantee the encoding scheme, first use update on the matrix block and used the returned scheme to ensure consistency.- Specified by:
encodeTin interfaceICLAScheme- Parameters:
data- The transposed data to encode- Returns:
- A compressed column group forced to use the scheme provided.
-
encodeT
Description copied from interface:ICLASchemeEncode a given matrix block into the scheme provided in the instance but overwrite what columns to use. The method is unsafe in the sense that if the encoding scheme does not fit, there is no guarantee that an error is thrown. To guarantee the encoding scheme, first use update on the matrix block and used the returned scheme to ensure consistency.- Specified by:
encodeTin interfaceICLAScheme- Parameters:
data- The transposed data to encodecolumns- The columns to apply the scheme to, but must be of same number than the encoded scheme- Returns:
- A compressed column group forced to use the scheme provided.
-
update
Description copied from interface:ICLASchemeUpdate the encoding scheme to enable compression of the given data.- Specified by:
updatein interfaceICLAScheme- Parameters:
data- The data to update into the scheme- Returns:
- A updated scheme
-
update
Description copied from interface:ICLASchemeUpdate the encoding scheme to enable compression of the given data.- Specified by:
updatein interfaceICLAScheme- Parameters:
data- The data to update into the schemecolumns- The columns to extract the data from- Returns:
- A updated scheme
-
updateT
Description copied from interface:ICLASchemeUpdate the encoding scheme to enable compression of the given data.- Specified by:
updateTin interfaceICLAScheme- Parameters:
data- The transposed data to update into the scheme- Returns:
- A updated scheme
-
updateT
Description copied from interface:ICLASchemeUpdate the encoding scheme to enable compression of the given data.- Specified by:
updateTin interfaceICLAScheme- Parameters:
data- The transposed data to update into the schemecolumns- The columns to extract the data from- Returns:
- A updated scheme
-
updateAndEncode
Description copied from interface:ICLASchemeUpdate and encode the given block in a single pass. It can fail to do so in cases where the dictionary size increase over the mapping sizes supported by individual encodings. The implementation should always work and fall back to a normal two pass algorithm if it breaks.- Specified by:
updateAndEncodein interfaceICLAScheme- Parameters:
data- The block to encode- Returns:
- The updated scheme and an encoded column group
-
updateAndEncodeT
Description copied from interface:ICLASchemeUpdate and encode the given block in a single pass. It can fail to do so in cases where the dictionary size increase over the mapping sizes supported by individual encodings. The implementation should always work and fall back to a normal two pass algorithm if it breaks.- Specified by:
updateAndEncodeTin interfaceICLAScheme- Parameters:
data- The transposed block to encode- Returns:
- The updated scheme and an encoded column group
-
updateAndEncode
Description copied from interface:ICLASchemeTry to update and encode in a single pass over the data. It can fail to do so in cases where the dictionary size increase over the mapping sizes supported by individual encodings. The implementation should always work and fall back to a normal two pass algorithm if it breaks.- Specified by:
updateAndEncodein interfaceICLAScheme- Parameters:
data- The block to encodecolumns- The column to encode- Returns:
- The updated scheme and an encoded column group
-
updateAndEncodeT
Description copied from interface:ICLASchemeTry to update and encode in a single pass over the data. It can fail to do so in cases where the dictionary size increase over the mapping sizes supported by individual encodings. The implementation should always work and fall back to a normal two pass algorithm if it breaks.- Specified by:
updateAndEncodeTin interfaceICLAScheme- Parameters:
data- The transposed block to encodecolumns- The column to encode- Returns:
- The updated scheme and an encoded column group
-
clone
- Specified by:
clonein interfaceICLAScheme
-