apache / apache/parquet-java

Delta Encoding is not used when dictionary enabled

Abierto
#2,024 7 comentarios 0 reacciones 0 asignados Ver en GitHub
Component: Java Component: Parquet Priority: Major Type: bug
Lenguaje dominante
Java
Estrellas
3.1k
Forks
1.6k
Merge medio
3 d 12 h
PR fusionados (30 d)
33

Descripción

Current code doesn't enable using both Delta Encoding and Dictionary Encoding. If I instantiate ParquetWriter like this :
```Java
val writer = new ParquetWriter[Group](outFile, new GroupWriteSupport, codec, blockSize, pageSize, dictPageSize, enableDictionary = true, true, ParquetProperties.WriterVersion.PARQUET_2_0, configuration)
```

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

**Reporter**: [Jakub Liska](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=l154k)

**Note**: *This issue was originally created as [PARQUET-796](https://issues.apache.org/jira/browse/PARQUET-796). Please see the [migration documentation](https://issues.apache.org/jira/browse/PARQUET-2502) for further details.*

Guía de contribución

No hay ninguna guía de contribución indexada para este repositorio

Línea de trabajo

Comience en parquet-column/src/main/java/org/apache/parquet/column/values/factory/DefaultValuesWriterFactory.java, en las líneas 78-86, y siga cómo se selecciona DictionaryValuesWriter en lugar del DeltaLongEncodingWriter inferido. Reproduzca la configuración de ParquetWriter del issue y añada cobertura que muestre el comportamiento de codificación esperado cuando el dictionary encoding está habilitado.

Escrito por el modelo de indexación a partir del texto del issue.

Evaluación

Stack tecnológico
java
Área
data-engineering
Tipo de issue
Error
Dificultad
4/5
Tiempo estimado
3-5 días
Estado de actividad
Estancado
Claridad
Bastante claro
Aptitud para principiantes
35/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.