Did we ever decide that Variant will be a Arrow canonical extension type? I don't see it currently listed in the docs [1] however an extension type maybe was added to the C++ implementation in [2] (sorry I am not familiar with that codebase to be sure)
As I think was mentioned elsewhere there is also a github discussion about adding Variant as a real type[3] that may also be relevant, from Curt. If this is the direction we are heading I will be happy to file a ticket to track the work Andrew [1]: https://arrow.apache.org/docs/format/CanonicalExtensions.html#canonical-extension-types [2]: https://github.com/apache/arrow/pull/45375/files [3]: https://github.com/apache/arrow/issues/42069 On Wed, May 21, 2025 at 4:43 AM wish maple <maplewish...@gmail.com> wrote: > When I went through the parquet variant spec, I found that an arrow > extension type might be a must because decoding the parquet row > by row is so inefficient. > > I've draft a decoding tool in parquet c++ and ready for review now [1] > > [1] https://github.com/apache/arrow/pull/46372 > > Best, > Xuwei Fu > > Matt Topol <zotthewiz...@gmail.com> 于2025年5月9日周五 06:03写道: > > > Hey All, > > > > There's been various discussions occurring on many different thread > > locations (issues, PRs, and so on)[1][2][3], and more that I haven't > > linked to, concerning what a canonical Variant Extension Type for > > Arrow might look like. As I've looked into implementing some things, > > I've also spoken with members of the Arrow, Iceberg and Parquet > > communities as to what a good representation for Arrow Variant would > > be like in order to ensure good support and adoption. > > > > I also looked at the ClickHouse variant implementation [4]. The > > ClickHouse Variant is nearly equivalent to the Arrow Dense Union type, > > so we don't need to do any extra work there to support it. > > > > So, after discussions and looking into the needs for engines and so > > on, I've iterated and written up a proposal for what a Canonical > > Variant Extension Type for Arrow could be in a google doc[5]. I'm > > hoping that this can spark some discussion and comments on the > > document. If there's relative consensus on it, then I'll work on > > creating some implementations of it that I can use to formally propose > > the addition to the Canonical Extensions. > > > > Please take a read and leave comments on the google doc or on this > > thread. Thanks everyone! > > > > --Matt > > > > [1]: https://github.com/apache/arrow-rs/issues/7063 > > [2]: https://github.com/apache/arrow/issues/45937 > > [3]: https://github.com/apache/arrow/pull/45375#issuecomment-2649807352 > > [4]: > > https://clickhouse.com/blog/a-new-powerful-json-data-type-for-clickhouse > > [5]: > > > https://docs.google.com/document/d/1pw0AWoMQY3SjD7R4LgbPvMjG_xSCtXp3rZHkVp9jpZ4/edit?usp=sharing > > >