Das Apache Arrow IPC Stream-Format (.arrow) ist ein binäres Dateiformat, das für die effiziente Datenübertragung und -speicherung konzipiert wurde, insbesondere innerhalb des Apache Arrow Ökosystems. Es handelt sich um ein spaltenorientiertes Speicherformat (columnar memory format), was bedeutet, dass Daten spaltenweise und nicht zeilenweise organisiert sind, was für analytische Workloads äußerst vorteilhaft ist. Dieses Format ermöglicht den Zero-Copy-Datenaustausch zwischen Prozessen und Systemen, wodurch der Overhead erheblich reduziert und die Leistung verbessert wird. Arrow IPC Streams werden typischerweise für die Übertragung großer Datensätze zwischen Anwendungen verwendet, die das Arrow-Format unterstützen, wie z.B. Datenverarbeitungs-Engines, Datenbanken und Machine-Learning-Frameworks. Das Format beinhaltet Metadaten, die das Schema der Daten beschreiben, was einen selbstdokumentierenden Datenaustausch ermöglicht. Es ist für schnelle Serialisierung und Deserialisierung optimiert, was es ideal für Echtzeit-Datenverarbeitung und High-Performance Computing macht. Das Format ist sprachunabhängig (language-agnostic), mit Implementierungen in verschiedenen Programmiersprachen, einschließlich Python, Java, C++ und R. Die Dateiendung .arrow repräsentiert typischerweise einen Stream von Arrow-Daten, der entweder ein einzelner Batch oder eine Sequenz von Batches sein kann, die einen größeren Datensatz darstellen. Das Format ist erweiterbar konzipiert und unterstützt verschiedene Datentypen und Kodierungen.