从序列化 Arrow 数据中读取/写入连接、文件路径、URL 或原始向量。Arrow 文档通常将此格式称为“Arrow IPC”,因为它最初是作为进程间(例如,多个 R 会话)传输表格的一种手段。此格式也可以写入和读取文件或 URL,并且本质上是 CSV 文件的高性能等效项,它能够更好地维护数据类型。
参数
- x
一个
raw()
向量、连接或文件路径,从中读取二进制数据。指示压缩的常用扩展名(.gz、.bz2、.zip)会自动解压缩。- ...
当前未使用。
- lazy
默认情况下,
read_nanoarrow()
将读取并丢弃读取器模式的副本,以确保尽快发现无效流。使用lazy = TRUE
将此检查推迟到实际使用读取器之前。- data
要作为 Arrow IPC 流写入的对象,使用
as_nanoarrow_array_stream()
转换。值得注意的是,这包括一个data.frame()
。
细节
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