apache / apache/parquet-java

Hive cannot determine the list of columns automatically based on Parquet serde

Abierto
#1,533 5 comentarios 0 reacciones 0 asignados Ver en GitHub
Component: Parquet Priority: Critical Type: enhancement
Lenguaje dominante
Java
Estrellas
3.1k
Forks
1.6k
Merge medio
3 d 12 h
PR fusionados (30 d)
33

Descripción

Today we are not able to create a parquet based hive table without having to specify the column names and types. When we try to define it the following way, we get the error
"14/08/20 17:27:46 ERROR ql.Driver: FAILED: SemanticException [Error 10043]: Either list of columns or a custom serializer should be specified"

```sql
CREATE TABLE parquet_test
ROW FORMAT SERDE
'org.apache.hadoop.hive.ql.io.parquet.serde.ParquetHiveSerDe'
STORED AS INPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetInputFormat'
OUTPUTFORMAT
'org.apache.hadoop.hive.ql.io.parquet.MapredParquetOutputFormat'
LOCATION
'/user/pratik/campaigns';
```

Whereas if we create a hive table on top of AVRO based files, we do not need to specify the column names, hive automatically figures out the schema through the SerDe.

```sql
CREATE EXTERNAL TABLE campaigns
ROW FORMAT SERDE 'org.apache.hadoop.hive.serde2.avro.AvroSerDe'
STORED AS INPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerInputFormat'
OUTPUTFORMAT 'org.apache.hadoop.hive.ql.io.avro.AvroContainerOutputFormat'
LOCATION '/user/pratik/campaigns'
TBLPROPERTIES ('avro.schema.url'='hdfs:///user/pratik/campaigns.avsc');
```

**Reporter**: [Pratik Khadloya](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=tispratik)
**Assignee**: [Ashish Singh](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=singhashish) / @SinghAsDev

**Note**: *This issue was originally created as [PARQUET-76](https://issues.apache.org/jira/browse/PARQUET-76). 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 primero el informe original de PARQUET-76 y la documentación de migración enlazada a PARQUET-2502. Confirma si el descubrimiento automático de columnas para tablas de Hive respaldadas por Parquet sigue siendo necesario o se ha trasladado a otro lugar; después, identifica los puntos de entrada actuales de la implementación y las pruebas antes de definir el alcance restante y los criterios de aceptación.

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

Evaluación

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

Recibe los nuevos issues en tu correo

Un resumen breve de issues de GitHub para principiantes.