Apache Arrow 5.0: Vereinfachte Interaktion mit der Flight-API in Rust

Für das neue Major Release des Frameworks für In-Memory-Datenanalyse hat das Entwicklerteam insgesamt 555 Probleme seit der Vorgängerversion gelöst.

In Pocket speichern vorlesen Druckansicht
Lesezeit: 2 Min.
Von
  • Matthias Parbel

Apache Arrow inklusive der korrespondierenden Rust-Implementierung ist mit zahlreichen Fehlerbereinigungen und neuen Funktionen in Version 5.0 erschienen. Seit dem im Mai 2021 vorgelegten Release 4.0 hat das Entwicklerteam nach eigenen Angaben insgesamt 555 Probleme behoben. Ein Großteil davon betrifft die auf Sprachen wie C, C++, C#, Go, Java, JavaScript, Julia, MATLAB, Python, R und Ruby ausgelegte Version des Frameworks für In-Memory-Datenanalyse, aber auch Rust-Entwicklerinnen und -Entwickler müssen sich beim Update auf Breaking Changes einstellen.

In Arrow Rust 5.0 hat sich das Entwicklerteam unter anderem um eine einfachere Nutzung der Arrow-Flight-API bemüht. Um die Interaktion mit Flight auch für Rust-Entwickler ähnlich komfortabel zu gestalten wie etwa von Python oder vergleichbaren Sprachen gewohnt, sehen die Umbaumaßnahmen beispielsweise Constructors sowie die Unterstützung nützlicher Merkmale wichtiger Typen vor. Darüber hinaus sollen Rust-Nutzer laut Release-Meldung auch von verbesserter Benutzerfreundlichkeit beim Erstellen und Bearbeiten von RecordBatches profitieren.

Neu hinzugekommen im Arrow Rust Kernel ist die Fähigkeit, Punkte und Bereiche lexikografisch zu partitionieren, sodass in Fensterfunktionen auch "Ordnen nach" und "Partitionieren nach" ermöglicht wird. Eine komplette Zusammenstellung aller Bugfixes und Änderungen in der Rust-Implementierung fasst das Changelog im GitHub Repository zusammen.

Den Überblick aller Neuerungen in Arrow 5.0.0 bieten die allgemeinen Release Notes. Während das Entwicklerteam weiterhin neue Hauptversionen im Quartalsrhythmus in Aussicht stellt, sollen die Arbeiten an der Rust-Implementierung mit häufigeren Minor-Releases noch schneller als bisher neue Funktionen und Bugfixes liefern. Unterdessen werden die auf Arrow aufbauende In-Memory-Query-Engine DataFusion sowie die Ballista-Plattform für verteiltes Computing aus den Arrow-Releases ausgekoppelt und in eigene Repositories ausgelagert.

(map)