Jiayi-Wang-db opened a new pull request, #611:
URL: https://github.com/apache/parquet-format/pull/611

   ### Rationale for this change
   
   The traditional array-of-structs footer requires readers to walk metadata 
for every column even
   when a query projects only a few columns. The modular footer transposes 
metadata into independent
   column-major modules, but storing every encoded array as a Thrift `binary` 
field obscures the
   boundary between the Thrift control structures and the actual array encoding.
   
   This draft explores an explicit metadata-page model analogous to Parquet 
data pages: a
   Compact-Thrift header followed by a raw, uncompressed array payload. It 
keeps placement,
   statistics, and page indexes as independent modules and supports projected 
random access without
   coupling placement to optional statistics.
   
   ### What changes are included in this PR?
   
   * Add the base modular-footer data model and its README entry.
   * Add a detailed array-page proposal covering framing, indexing, 
compatibility, validation, and
     evaluation criteria.
   * Add normative Thrift definitions for metadata-page headers and directories.
   * Define `BIT_PACKED` for dense arrays and `SPARSE` for sparse optional 
values.
   * Define a two-level directory so page-index metadata does not expand the 
always-read root.
   * Keep metadata-page payloads uncompressed and outside Thrift fields.
   
   ### Do these changes have PoC implementations?
   
   Not yet. This is a draft specification intended to establish the wire model 
before updating the
   existing modular-footer PoC. The proposal lists the required size, 
projection, sparse-statistics,
   malformed-input, and cross-implementation evaluations.
   
   <!-- Closes #530 -->
   


-- 
This is an automated message from the Apache Git Service.
To respond to the message, please log on to GitHub and use the
URL above to go to the specific comment.

To unsubscribe, e-mail: [email protected]

For queries about this service, please contact Infrastructure at:
[email protected]


---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to