跳转至内容

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_frameTRUE(默认值),则返回 tibble,否则返回 Arrow

另请参阅

有关读取 Arrow IPC 数据的更底层访问,请参阅 FeatherReaderRecordBatchReader

示例

# 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"))