跳至内容

从序列化 Arrow 数据中读取/写入连接、文件路径、URL 或原始向量。Arrow 文档通常将此格式称为“Arrow IPC”,因为它最初是作为进程间(例如,多个 R 会话)传输表格的一种手段。此格式也可以写入和读取文件或 URL,并且本质上是 CSV 文件的高性能等效项,它能够更好地维护数据类型。

用法

read_nanoarrow(x, ..., lazy = FALSE)

write_nanoarrow(data, x, ...)

example_ipc_stream()

参数

x

一个 raw() 向量、连接或文件路径,从中读取二进制数据。指示压缩的常用扩展名(.gz、.bz2、.zip)会自动解压缩。

...

当前未使用。

lazy

默认情况下,read_nanoarrow() 将读取并丢弃读取器模式的副本,以确保尽快发现无效流。使用 lazy = TRUE 将此检查推迟到实际使用读取器之前。

data

要作为 Arrow IPC 流写入的对象,使用 as_nanoarrow_array_stream() 转换。值得注意的是,这包括一个 data.frame()

返回值

一个 nanoarrow_array_stream

细节

nanoarrow 包实现了 IPC 写入器;但是,您也可以使用 arrow::write_ipc_stream() 从 R 写入数据,或使用 Python、C++、Rust、JavaScript、Julia、C# 等其他 Arrow 实现中的等效写入器。

Arrow 流的媒体类型为 application/vnd.apache.arrow.stream,建议的文件扩展名为 .arrows

示例

as.data.frame(read_nanoarrow(example_ipc_stream()))
#>   some_col
#> 1        1
#> 2        2
#> 3        3