Feather 为数据框提供二进制列式序列化。它旨在使数据帧的读写高效,并使跨数据分析语言共享数据变得容易。read_feather()
可以读取 Feather 版本 1 (V1)(从 2016 年开始提供的旧版本)和版本 2 (V2)(即 Apache Arrow IPC 文件格式)。read_ipc_file()
是 read_feather()
的别名。
用法
read_feather(file, col_select = NULL, as_data_frame = TRUE, mmap = TRUE)
read_ipc_file(file, col_select = NULL, as_data_frame = TRUE, mmap = TRUE)
参数
- file
字符文件名或 URI、连接、
raw
向量、Arrow 输入流或带有路径的FileSystem
(SubTreeFileSystem
)。如果是文件名或 URI,则会在完成后打开和关闭 Arrow 输入流。如果提供了输入流,它将保持打开状态。- col_select
要保留的列名的字符向量,如
data.table::fread()
的“select”参数,或 tidy 选择规范 中使用的列,如dplyr::select()
中所示。- as_data_frame
该函数应该返回
tibble
(默认)还是 Arrow 表?- mmap
逻辑值:是否将文件内存映射(默认为
TRUE
)
返回值
如果 as_data_frame
为 TRUE
(默认值),则返回 tibble
,否则返回 Arrow 表
另请参阅
有关读取 Arrow IPC 数据的更底层访问,请参阅 FeatherReader 和 RecordBatchReader。
示例
# We recommend the ".arrow" extension for Arrow IPC files (Feather V2).
tf <- tempfile(fileext = ".arrow")
on.exit(unlink(tf))
write_feather(mtcars, tf)
df <- read_feather(tf)
dim(df)
#> [1] 32 11
# Can select columns
df <- read_feather(tf, col_select = starts_with("d"))