You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在R中读取Parquet文件的前n行?

在R中读取Parquet文件的前N行(无需全量加载)

针对大Parquet文件仅需读取前若干行用于测试的需求,可以利用arrow包的延迟加载API实现,无需全量加载整个文件到内存。以下是两种可行方案:

方法一:使用open_dataset + head()

open_dataset会创建一个数据集对象(不会立即加载数据),配合head()指定行数后再收集到内存:

library(arrow)

# 打开目标Parquet文件(支持单个文件或文件夹)
ds <- open_dataset("your_large_file.parquet", format = "parquet")

# 读取前1000行并加载到内存
sample_data <- ds %>% head(1000) %>% collect()

方法二:使用scan_parquet + head()

如果是单个Parquet文件,scan_parquet更直接,返回的Scanner对象支持灵活的读取控制:

library(arrow)

# 创建Parquet扫描器(延迟加载,不立即读取数据)
scanner <- scan_parquet("your_large_file.parquet")

# 读取前1000行并加载到内存
sample_data <- scanner %>% head(1000) %>% collect()

关键说明

  • 这两种方式都利用了arrow的延迟计算机制:只有调用collect()时才会实际读取指定行数的数据,避免全量加载大文件。
  • 相比直接使用read_parquet,这种方式更适合测试场景,能显著节省内存和读取时间。

内容的提问来源于stack exchange,提问作者Mark Neal

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.25 04:06:25