Apache Arrow defines two formats for serializing data for interprocess communication (IPC): a "stream" format and a "file" format, known as Feather. read_ipc_stream() and read_feather() read those formats, respectively.

read_arrow(file, ...)

read_ipc_stream(file, as_data_frame = TRUE, ...)



A character file name or URI, raw vector, an Arrow input stream, or a FileSystem with path (SubTreeFileSystem). If a file name or URI, an Arrow InputStream will be opened and closed when finished. If an input stream is provided, it will be left open.


extra parameters passed to read_feather().


Should the function return a data.frame (default) or an Arrow Table?


A data.frame if as_data_frame is TRUE (the default), or an Arrow Table otherwise


read_arrow(), a wrapper around read_ipc_stream() and read_feather(), is deprecated. You should explicitly choose the function that will read the desired IPC format (stream or file) since a file or InputStream may contain either.

See also

write_feather() for writing IPC files. RecordBatchReader for a lower-level interface.