## Description:
A column-oriented data file format designed for efficient data storage and
retrieval. It provides high performance compression and encoding schemes to
handle complex data in bulk and is supported in many programming languages and
analytics tools.

## Project Status:
Current project status: Parquet is an ongoing, fairly mature project. As a file
format, new features are added relatively slowly as backward compatibility is
required. There is an increase of activity towards making changes to
improve the format under the "Parquet V3" label (see project activity below).
Issues for the board: none

## Membership Data:
Apache Parquet was founded 2015-04-21 (9 years ago)
There are currently 38 committers and 28 PMC members in this project.
The Committer-to-PMC ratio is roughly 5:4.

Community changes, past quarter:
- Gang Wu was added to the PMC on 2024-05-10
- No new committers. Last addition was Gang Wu on 2023-02-28.
- Julien Le Dem is now the PMC chair. Thank you Xinli for your service!

## Project Activity:
- Discussions on adding Parquet extension support: (Parquet
extensions: 
https://docs.google.com/document/d/1KkoR0DjzYnLQXO-d0oRBv2k157IZU0_injqd4eV4WiI/edit).
 The end goal is to allow fast iteration for new features and
  accelerate innovation.

- Adding support for geo data types in Parquet. This is a feature that
  progresses in the wider Open Source data ecosystem
(including in Iceberg for example).

- There are discussions to clarify the process for adopting new features for
  parquet-format and release for Parquet Java
  https://lists.apache.org/thread/nq7n6pbp222txrfo232ybgpvlvpmykbp

- "Parquet V3":
   parquet-format 2.10.0 was released on 2023-11-20
   There are a few discussions under the "Parquet V3" label. I
   put this in quotes as the goal is not to make a major incompatible release
   but instead to add functionality or change the format in a backwards
   compatible way in a few areas:
  - Improve footer metadata format to improve wide schemas access: Wide
    schemas are schemas with many columns (1000s. 10,000s or more) Currently,
    the footer is one thrift data structure. This means that when reading a
    few columns of a very wide file, one must scan all the columns' metadata
    to read the few interesting columns. When the metadata is large, this is
    significant overhead. Current discussion includes splitting the thrift
    metadata or using flatbuffers (like the Arrow project). In particular this
    requires a mechanism to add a new footer in a way that doesn't break old
    readers in the transition period.
  - New encodings: In particular, encodings that compress better time series
    or strings. Consensus is to add few encodings that will solve this well on
    average. A few research papers on this topic have been mentioned.
  - Cross validation: As the ecosystem has grown quite a bit since the initial
    release of Parquet. There are discussions to introduce a new cross
    compatibility testing framework to ensure various integrations in open
    source or proprietary projects are compatible and respect the same
    semantics. See https://github.com/apache/parquet-format/issues/441

- The Parquet-MR has been renamed to Parquet-Java to better reflect what’s in
  the repository. Parquet-Java has done two releases: 1.14.0 in May 2024,
  and 1.14.1 in June 2024.

- Parquet C++ implementation location: A while back the Parquet C++ was moved
  to the Arrow repo to ease dependency management between the 2 code bases.
  The C++ language in particular makes cross repo dependencies difficult. This
  has raised questions on whether the Parquet C++ code base should move back
  to its own repo to clarify governance. The current consensus (across the
  Parquet and Arrow PMCs) is to keep it as is because of technical
  difficulties to move it without making C++ development across the two repo
  painful.

- Issue migration to GitHub: as issue tracking was being migrated for the
  parquet-cpp codebase, moving other issues to GitHub added relatively little
  overhead. We migrated 2485 past and current issues from Parquet Jira to
  GitHub issue trackers. We strived to keep contents and metadata as close to
  the originals as possible to minimize disruption to work of contributors and
  keep the historical record of work. Comments, issue crosslinks, attachments,
  versions, priorities and labels were preserved wherever possible. Authorship
  is indicated with Jira and GitHub (where known) usernames. All issues for
  Apache Parquet are now tracked in GitHub issue trackers of parquet-java,
  parquet-format, parquet-testing, parquet-site and arrow (for parquet-cpp).

- There is some effort to document the client feature compatibility matrix
  across the ecosystem that is currently under discussion:
  https://github.com/apache/parquet-site/pull/34

## Community Health:
There is a surge in email traffic linked to the "Parquet V3" discussion
summarized above (~+300% on the dev list). This should sustain over the next
few quarters as we make progress towards a V3.

Reply via email to