apache / apache/parquet-java

Use the same default page size across different language bindings

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

Descripción

Currently there are many different page size recommandations/defaults in use:
- [parquet-format](https://github.com/apache/parquet-format#configurations) recommends 8 KB.
- [parquet-mr](https://github.com/apache/parquet-mr/blob/master/parquet-column/src/main/java/org/apache/parquet/column/ParquetProperties.java#L46) uses 1 MB.
- [Impala](https://github.com/apache/impala/blob/daff8eb0ca19aa612c9fc7cc2ddd647735b31266/be/src/exec/hdfs-parquet-table-writer.h#L83) uses 64 KB.

These values (and other language bindings not listed above) should be consistent.

To pick a sensible new value, we may need to do some measurements. Because of this, we shall wait for column indexes to be implemented before picking a new value.

The new default page size does not necessarily have to be a single value any more, we have several options:
- A single default page size, as before.
- Different page size defaults depending on the type.
- Using a specified number of values instead of data size (e.g., every page contains 10000 values).

**Reporter**: [Zoltan Ivanfi](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=zi) / @zivanfi

**Note**: *This issue was originally created as [PARQUET-1190](https://issues.apache.org/jira/browse/PARQUET-1190). 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

Revisa los valores predeterminados actuales en parquet-format y parquet-mr, incluido parquet-column/src/main/java/org/apache/parquet/column/ParquetProperties.java, y compáralos con el valor del writer de Impala citado en el issue. El trabajo debe esperar a los índices de columna y las mediciones; se considera terminado cuando se haya elegido e implementado de forma coherente una estrategia acordada de valores predeterminados entre los bindings.

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
Nueva funcionalidad
Dificultad
5/5
Tiempo estimado
Más de una semana
Estado de actividad
Estancado
Claridad
Necesita aclaración
Aptitud para principiantes
25/100

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.