Awesome! In Impala we created our own implementations so far, but it will be nice to join forces and have a common library.
Looking forward to the Slack channel. Cheers, Zoltan On Fri, Nov 22, 2024 at 5:01 PM Gang Wu <ust...@gmail.com> wrote: > > I have created an issue [1] to collect initial ideas for the iceberg-cpp > project. > > Any feedback is appreciated. > > [1] https://github.com/apache/iceberg-cpp/issues/2 > > Best, > Gang > > On Fri, Nov 22, 2024 at 10:11 PM Matt Topol <zotthewiz...@gmail.com> wrote: >> >> I will also help out with the iceberg-cpp effort, please include me on the >> channel. While my focus will still be on iceberg-go, I'll happily review and >> contribute to the C++ implementation. >> >> I do also plan on eventually implementing puffin in the iceberg-go repo lol >> >> --Matt >> >> On Fri, Nov 22, 2024 at 8:55 AM Raúl Cumplido <rau...@apache.org> wrote: >>> >>> This sounds awesome. I am looking forward to the slack channel being >>> available so I can also help! >>> >>> El vie, 22 nov 2024 a las 10:03, Gang Wu (<ust...@gmail.com>) escribió: >>> > >>> > Thanks for the support, Fokko and JB! >>> > >>> > Please include me in the cpp slack channel for future cooperation. >>> > >>> > Best, >>> > Gang >>> > >>> > On Fri, Nov 22, 2024 at 4:58 PM Jean-Baptiste Onofré <j...@nanthrax.net> >>> > wrote: >>> >> >>> >> Hi Gabor, >>> >> >>> >> I think it makes sense to create iceberg-cpp resources (repository, >>> >> slack channel, ...): this can gather the efforts in the Iceberg lib >>> >> and Puffin implementation. >>> >> >>> >> Fokko can help there, he can ping me if needed (from ASF standpoint) :) >>> >> >>> >> Regards >>> >> JB >>> >> >>> >> On Fri, Nov 22, 2024 at 9:25 AM Gabor Kaszab <gaborkas...@apache.org> >>> >> wrote: >>> >> > >>> >> > Hi Iceberg Community, >>> >> > >>> >> > It's been a while since we started this discussion. I'd like to revive >>> >> > the conversion for two reasons: >>> >> > 1) I think I'll have some capacity starting from early next year to >>> >> > take care of the C++ Puffin stuff we already talked about above, and >>> >> > also from the Impala community we could add some additional auxiliary >>> >> > functionality for the V3 positional deletes later on. >>> >> > 2) I learned that a part of the community is interested in having a >>> >> > C++ implementation of the Iceberg lib in general for their C++ engine. >>> >> > cc @Gang Wu >>> >> > >>> >> > There seemed to be general support from the community to start up such >>> >> > a sub-project, so I'm reaching out now to ask for some guidance so >>> >> > that we can get going. @Fokko Driesprong You have much experience in >>> >> > this area, do you think you have the bandwidth to handhold us with the >>> >> > process and the steps? Meanwhile, I'll take a look at the Python repo >>> >> > to get a feel for myself. >>> >> > >>> >> > Regards, >>> >> > Gabor >>> >> > >>> >> > On Wed, Sep 11, 2024 at 5:32 PM Anton Okolnychyi >>> >> > <aokolnyc...@gmail.com> wrote: >>> >> >> >>> >> >> If C++ engines prefer not to depend on Iceberg Rust, I actually don't >>> >> >> see a problem with having a separate C++ project even if it only >>> >> >> contains Puffin readers/writers. The important part is to avoid >>> >> >> multiple C++ writer/reader implementations in different engines. >>> >> >> >>> >> >> There were concerns with having one repo for multiple languages when >>> >> >> we discussed how to maintain the main project. We should re-evaluate >>> >> >> if they still apply here. >>> >> >> >>> >> >> - Anton >>> >> >> >>> >> >> вт, 10 вер. 2024 р. о 06:08 Gabor Kaszab <gaborkas...@apache.org> >>> >> >> пише: >>> >> >>> >>> >> >>> Hey All, >>> >> >>> >>> >> >>> Thanks for all the answers! >>> >> >>> >>> >> >>> My initial thought here was to have an iceberg-cpp repo for the >>> >> >>> Puffin reader/writer implementation in C++. But then I thought that >>> >> >>> there might be only one thing within this cpp repo, that is the >>> >> >>> Puffin stuff, and once implemented the repo won't have any more PRs >>> >> >>> coming in so it might be an overkill to introduce a separate repo >>> >> >>> for this purpose. Unless there is a need from other stakeholders to >>> >> >>> have a C++ implementation of the Iceberg lib (similarly to Python >>> >> >>> and Rust) but this would lead to a different conversation. >>> >> >>> >>> >> >>> Pulling in the Rust implementation into the C++ part of Impala: I >>> >> >>> don't know, I have to do some research on this. For performance >>> >> >>> reasons I know Impala prefers to have its own implementation of >>> >> >>> things (like Parquet reader/writer), so I have to double-check if >>> >> >>> it's acceptable performance-wise to pull in a Rust implementation of >>> >> >>> anything. I don't have any experience of doing so, hence the >>> >> >>> hesitation. >>> >> >>> >>> >> >>> JB, you mean that we can create a sub-repo like iceberg-puffin, that >>> >> >>> would hold separate implementations for different languages? For me >>> >> >>> this could also work. Wondering what others think. >>> >> >>> >>> >> >>> Regards, >>> >> >>> Gabor >>> >> >>> >>> >> >>> >>> >> >>> On Fri, Aug 30, 2024 at 2:08 PM Jean-Baptiste Onofré >>> >> >>> <j...@nanthrax.net> wrote: >>> >> >>>> >>> >> >>>> Hi Gabor >>> >> >>>> >>> >> >>>> I like the idea, it sounds good to me. >>> >> >>>> >>> >> >>>> Imho, for "clarity", the best option would be to have a dedicated >>> >> >>>> puffin repo with different language binding (at bit like it's done >>> >> >>>> in >>> >> >>>> Arrow). >>> >> >>>> I think that adding to iceberg-rust could be an option, but not sure >>> >> >>>> it would be obvious for developers. >>> >> >>>> >>> >> >>>> Regards >>> >> >>>> JB >>> >> >>>> >>> >> >>>> On Thu, Aug 29, 2024 at 2:46 PM Gabor Kaszab >>> >> >>>> <gaborkas...@apache.org> wrote: >>> >> >>>> > >>> >> >>>> > Hi Iceberg Community, >>> >> >>>> > >>> >> >>>> > With the V3 position delete proposal it came up that non-Java >>> >> >>>> > engines might have to implement a Puffin reader and writer >>> >> >>>> > themselves so that they can support the newly proposed position >>> >> >>>> > deletes. Impala would most probably require a C++ implementation >>> >> >>>> > and first of all I'm wondering whether there are other engines >>> >> >>>> > that require additional language implementation. >>> >> >>>> > >>> >> >>>> > My additional thought is that once we have an implementation in >>> >> >>>> > another language where should that live? I can do the C++ and >>> >> >>>> > that could live within Impala, but I think it could be useful for >>> >> >>>> > other engines too but I have no idea where such an implementation >>> >> >>>> > could live TBH. >>> >> >>>> > >>> >> >>>> > Would be nice to hear opinions on this! >>> >> >>>> > Thanks, >>> >> >>>> > Gabor