[
https://issues.apache.org/jira/browse/PARQUET-796?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15743092#comment-15743092
]
Jakub Liska commented on PARQUET-796:
-------------------------------------
I'm really confused, it looks like the boolean enableDictionary determines
whether dictionary encoding is used for all columns or none of them.
[~rdblue] I think that the correct behavior should be prioritizing Dictionary
encoding only for Enums :
{code}
if (type == OriginalType.ENUM && parquetProperties.isEnableDictionary())
{code}
Not for all columns ... Unfortunately the OriginalType information is not
available in there.
> Delta Encoding is not used when dictionary enabled
> --------------------------------------------------
>
> Key: PARQUET-796
> URL: https://issues.apache.org/jira/browse/PARQUET-796
> Project: Parquet
> Issue Type: Bug
> Components: parquet-mr
> Affects Versions: 1.9.0
> Reporter: Jakub Liska
> Priority: Critical
> Fix For: 1.9.1
>
>
> Current code doesn't enable using both Delta Encoding and Dictionary
> Encoding. If I instantiate ParquetWriter like this :
> {code}
> val writer = new ParquetWriter[Group](outFile, new GroupWriteSupport, codec,
> blockSize, pageSize, dictPageSize, enableDictionary = true, true,
> ParquetProperties.WriterVersion.PARQUET_2_0, configuration)
> {code}
> Then this piece of code :
> https://github.com/apache/parquet-mr/blob/master/parquet-column/src/main/java/org/apache/parquet/column/values/factory/DefaultValuesWriterFactory.java#L78-L86
> Causes that DictionaryValuesWriter is used instead of the inferred
> DeltaLongEncodingWriter.
> The original issue is here :
> https://github.com/apache/parquet-mr/pull/154#issuecomment-266489768
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)