apache / apache/parquet-java

Schema creation from another schema will not be possible - deprecated

オープン
#2,351 コメント 0 件 リアクション 0 件 担当者 0 名 GitHub で見る
Component: Java Component: Parquet Priority: Major Type: bug
主要言語
Java
スター
3.1k
フォーク
1.6k
平均マージ
3日 12時間
マージ済み PR(30日)
33

説明

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.*

コントリビューションガイド

このリポジトリのコントリビューションガイドは索引されていません

調査の方向性

まず、issue で参照されている GroupType コンストラクターのオーバーロードと、schema.Types.*Builder および LogicalTypeAnnotation の API を読みます。リンクされている移行ドキュメントと既存の projection schema の使用箇所を確認し、サポートされている方向を判断します。deprecation に関する懸念と、子を持たない schema type の作成が解決されるか、明確に文書化されれば完了です。

索引モデルが issue の本文から書いたものです。

評価

技術スタック
java
領域
data-engineering
issue の種類
機能追加
難易度
4/5
見積もり時間
3〜5日
活発さ
停滞
明瞭さ
おおむね明確
初心者へのやさしさ
35/100

新しい issue をメールで受け取る

初心者向けの GitHub issue を短くまとめたダイジェスト。