1., yes. IMO parquet-mr should be the RI, though a feature could only be declared as "done" when there is >1 implementation 2. What about interoperability and compliance testing? that is, rather than an RI, a set of test suites which somehow every impl has to pass. Tricky cross-platform though.
On Tue, 14 May 2024 at 10:00, Rok Mihevc <rok.mih...@gmail.com> wrote: > Second Raphael's point. > Would it be reasonable to say specification change requires implementation > in two parquet implementations within Apache Parquet project? > > Rok > > On Tue, May 14, 2024 at 10:50 AM Gang Wu <ust...@gmail.com> wrote: > > > IMHO, it looks more reasonable if a reference implementation is required > > to support most (not all) elements from the specification. > > > > Another question is: should we discuss (and vote for) each candidate > > one by one? We can start with parquet-mr which is most well-known > > implementation. > > > > Best, > > Gang > > > > On Tue, May 14, 2024 at 4:41 PM Raphael Taylor-Davies > > <r.taylordav...@googlemail.com.invalid> wrote: > > > > > Potentially it would be helpful to flip the question around. As Andrew > > > articulates, a reference implementation is required to implement all > > > elements from the specification, and therefore the major consequence of > > > labeling parquet-mr thusly would be that any specification change would > > > have to be implemented within parquet-mr as part of the standardisation > > > process. It would be insufficient for it to be implemented in, for > > > example, two of the parquet implementations maintained by the arrow > > > project. I personally think that would be a shame and likely exclude > > > many people who would otherwise be interested in evolving the parquet > > > specification, but think that is at the core of this question. > > > > > > Kind Regards, > > > > > > Raphael > > > > > > On 13/05/2024 20:55, Andrew Lamb wrote: > > > > Question: Should we label parquet-mr or any other parquet > > implementations > > > > "reference" implications"? > > > > > > > > This came up as part of Vinoo's great PR to list different parquet > > > > reference implementations[1][2]. > > > > > > > > The term "reference implementation" often has an official > connotation. > > > For > > > > example the wikipedia definition is "a program that implements all > > > > requirements from a corresponding specification. The reference > > > > implementation ... should be considered the "correct" behavior of any > > > other > > > > implementation of it."[3] > > > > > > > > Given the close association of parquet-mr to the parquet standard, it > > is > > > a > > > > natural candidate to label as "reference implementation." However, it > > is > > > > not clear to me if there is consensus that it should be thusly > labeled. > > > > > > > > I have a strong opinion that a consensus on this question would be > very > > > > helpful. I don't actually have a strong opinion about the answer > > > > > > > > Andrew > > > > > > > > > > > > > > > > [1]: > > > https://github.com/apache/parquet-site/pull/53#discussion_r1582882267 > > > > [2]: > > > https://github.com/apache/parquet-site/pull/53#discussion_r1598283465 > > > > [3]: https://en.wikipedia.org/wiki/Reference_implementation > > > > > > > > > >