Cool, but this is very specific to DataFusion, no? Is there any chance this would be standardized so other Parquet readers could leverage the same technique?
Embedding user-defined indexes in Apache Parquet
21–25 of 25 posts
Re: Embedding user-defined indexes in Apache Parquet
#22Earlier quoted context omitted.
What are the new file format initiatives you're referencing here? This solution seems clever overall, and finding a way to bolt on features of the latest-and-greatest new hotness without breaking backwards compatibility is a testament to the DataFusion team. Supporting legacy systems is crucial work, even if things need a ground-up rewrite periodically.
Lance (from LanceDB folks), Nimble (from Meta folks, formerly known as Alpha); I think there are a few others https://github.com/lancedb/lance https://github.com/facebookincubator/nimble
Re: Embedding user-defined indexes in Apache Parquet
#23Earlier quoted context omitted.
Yeah I'm happy to see this, we have been curious as part of figuring out cloud native storage extensions to GFQL (graph dataframe-native query lang), and my intuition was parquet was pluggable here... And this is the first I'm seeing a cogent writeup. Likewise, this means, afaict, it's likewise pretty straightforward to do novel indexing schemes within Iceberg as well just by reusing this. The other aspect I've been…
I'm not sure if this is what you're looking for, but there is a proposal in DataFusion to allow user defined types. https://github.com/apache/datafusion/issues/12644
Re: Embedding user-defined indexes in Apache Parquet
#24I think this post is a response to some new file format initiatives, based on the criticism that the Parquet file format is showing its age. One of the arguments is that there is no standardized way to extend Parquet with new kinds of metadata (like statistical summaries, HyperLogLog etc.) This post was written by the DataFusion folks, who have shown a clever way to do this without breaking backward compatibility wit…
So it looks as if adopting custom indexes mean you are adopting not just a particular engine for reading but also a particular engine for compaction. That in turn means you can't use generic mechanisms like the compaction mechanism in S3 table buckets. Am I missing something?
Re: Embedding user-defined indexes in Apache Parquet
#25I think this post is a response to some new file format initiatives, based on the criticism that the Parquet file format is showing its age. One of the arguments is that there is no standardized way to extend Parquet with new kinds of metadata (like statistical summaries, HyperLogLog etc.) This post was written by the DataFusion folks, who have shown a clever way to do this without breaking backward compatibility wit…