apache / apache/parquet-java

Schema creation from another schema will not be possible - deprecated

Open
#2,351 0 comments 0 reactions 0 assignees View on GitHub
Component: Java Component: Parquet Priority: Major Type: bug
Dominant language
Java
Stars
3.1k
Forks
1.6k
Avg merge
3d 12h
Merged PRs (30d)
33

Description

Imagine I have a current schema and want to create a projection schema from that. One option is the schema.Types.\*Builder but the more direct version would be to clone the schema itself without children.

`List l = new ArrayList<>();`
` for (String c : childmappings.keySet()) {`
`  Mapping m = childmappings.get(c);`
`  l.add(m.getProjectionSchema());`
` `}
` GroupType gt = new GroupType(schema.getRepetition(), schema.getName(), schema.getOriginalType(), l);`

 

The last line, the new GroupType(..) constructor is deprecated. We should use the version with the LogicalTypeAnnotation instead. Fine. But how do you get the LogicalTypeAnnotation  from an existing schema?

I feel you should not deprecate these methods and if, provide an extra method to create a Type column from a type column (column alone, without children. Else the projection would have all child columns).

 

Do you agree?

 

**Reporter**: [Werner Daehn](https://issues.apache.org/jira/secure/ViewProfile.jspa?name=wdaehn) / @wernerdaehn

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

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.