apache / apache/parquet-java

`MessageTypeParser.parseMessageType()` Fails to Parse Valid Parquet Schemas with Special Characters in Field Names

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

説明

### Describe the bug, including details regarding any error messages, version, and platform.

The MessageTypeParser.parseMessageType(String) method fails when parsing Parquet schemas containing field names with special characters such as "name=id" or "first name". These field names are valid in Parquet schema definitions and Parquet files successfully support them. However, parseMessageType throws an error or fails to deserialize such schemas back into a valid MessageType object.

Steps to Reproduce:
Create a valid Parquet schema with a field name like name=id or first name.
Convert it to a string using .toString().
Attempt to parse it back using MessageTypeParser.parseMessageType(parquetSchema.toString()).

Suggested Fix:
Enhance MessageTypeParser to properly handle and deserialize field names containing special characters, ensuring compliance with the Parquet specification.

### Component(s)

_No response_

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

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

調査の方向性

MessageTypeParser.parseMessageType(String) から始め、フィールド名に "name=id" または "first name" を含む有効な Parquet スキーマを使ってラウンドトリップを再現します。完了条件は、toString() が生成したスキーマ文字列を、エラーなしで同等の有効な MessageType に再度パースできることです。

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

評価

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

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

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