Einbetten benutzerdefinierter Indizes in Apache Parquet-Dateien

2025-07-15

Es ist ein weit verbreiteter Irrglaube, dass Apache Parquet-Dateien auf grundlegende Statistiken und Bloom-Filter beschränkt sind. Dieser Beitrag zeigt, wie benutzerdefinierte Indizes direkt in Parquet-Dateien eingebettet werden können, ohne die Kompatibilität zu beeinträchtigen. Durch die Nutzung von Fußzeilenmetadaten und offsetbasierter Adressierung können Sie Indizes wie eindeutige Wertlisten für bestimmte Spalten hinzufügen, wodurch die Abfrageleistung erheblich verbessert wird, insbesondere bei hochspezifischen Prädikaten. Die Autoren erläutern den Mechanismus und liefern ein praktisches Beispiel mit Apache DataFusion, das zeigt, wie diese benutzerdefinierten Indizes serialisiert, gespeichert und gelesen werden. Verabschieden Sie sich von der Komplexität und den Risiken externer Indizes!

Mehr lesen

Apache DataFusion: Eine leistungsstarke und erweiterbare Query-Engine in Rust

2025-01-16

Apache DataFusion ist eine erweiterbare Query-Engine, geschrieben in Rust, die Apache Arrow als In-Memory-Format verwendet. Sie bietet SQL- und DataFrame-APIs, hervorragende Leistung und integrierte Unterstützung für CSV, Parquet, JSON und Avro. DataFusion verfügt über einen vollständigen Query-Planner, eine columnar, streaming, multi-threaded, vektorisierte Ausführungs-Engine und partitionierte Datenquellen. Sie ist nahezu vollständig anpassbar, einschließlich der Möglichkeit, Datenquellen, Query-Sprachen, Funktionen, benutzerdefinierte Operatoren und mehr hinzuzufügen. Verwandte Unterprojekte umfassen DataFusion Python (Python-Bindings), DataFusion Ray (verteilte Version) und DataFusion Comet (Apache Spark-Beschleuniger).

Mehr lesen
Entwicklung Query-Engine