arrow

Ermöglicht das Konsumieren und Erzeugen des Apache-Arrow-Interprocess-Communication-Formats (IPC), sowohl aus Dateien als auch direkt aus Stream-Puffern.

Maintainer: paleolimbot, pdet, evertlammerts

Installation und Laden

INSTALL nanoarrow FROM community;
LOAD nanoarrow;

Beispiel

-- Read from a file in Arrow IPC format
FROM 'arrow_file.arrow';
FROM 'arrow_file.arrows';
FROM read_arrow('arrow_file.arrow');
-- Write a file in Arrow IPC stream format
CREATE TABLE arrow_libraries AS SELECT 'nanoarrow' as name, '0.6' as version;
COPY arrow_libraries TO 'test.arrows' (FORMAT ARROWS, BATCH_SIZE 100);
-- Write to buffers: This returns IPC message BLOBs and indicates which one is the header.
FROM to_arrow_ipc((FROM arrow_libraries));

Über nanoarrow

Die Arrow-IPC-Bibliothek erlaubt das Lesen und Schreiben von Daten im Arrow-IPC-Stream-Format. Das ist entweder über das Lesen und Erzeugen von .arrow-Dateien möglich oder durch direktes Lesen von Puffern über Zeiger und Größen. Das Lesen von Puffern ist gefährlich: ein falscher Zeiger kann das Datenbanksystem zum Absturz bringen. Dieses Vorgehen ist vorübergehend und wird später entfallen, sobald Clients (z. B. der Python-DuckDB-Client) eine Funktion haben, die diese Puffer intern aus einem Arrow-Stream extrahiert.