Arroyo: Ein blitzschneller JSON-Decoder basierend auf Arrow

2025-03-26
Arroyo: Ein blitzschneller JSON-Decoder basierend auf Arrow

Die Arroyo-Stream-Processing-Engine steht vor der zentralen Herausforderung, große JSON-Datenströme effizient zu verarbeiten. Dieser Artikel beschreibt, wie Arroyo das spaltenbasierte Arrow-Speicherformat und eine zweistufige JSON-Dekodiersstrategie nutzt, um die Geschwindigkeit der JSON-Deserialisierung drastisch zu verbessern. Der erste Schritt erstellt eine abgeflachte „Tape“-Datenstruktur, während der zweite Schritt Arrow-Arrays parallel basierend auf dem Schema erstellt. Dieser Ansatz ist in Benchmarks bis zu 2,3-mal schneller als Jackson-basierte Deserialisierer. Darüber hinaus erweitert Arroyo die Unterstützung für Roh-JSON und die Behandlung fehlerhafter Daten, was eine flexiblere Verarbeitung von realen Streaming-Daten ermöglicht.

Entwicklung JSON-Dekodieren