Ubuntu WSL中R安装arrow库失败,求替代读取Parquet文件的方法
解决Ubuntu WSL中arrow安装卡住问题:读取Parquet文件的替代方案
Hey there! 作为R和bash新手,碰到arrow库安装一直卡住的情况确实挺头疼的,我给你几个亲测好用的替代方案,不用依赖arrow也能轻松读取本地Parquet文件:
方案1:用duckdb + dplyr/dbplyr组合(推荐)
这个组合轻量高效,而且duckdb在WSL环境里安装基本不会出问题,对列式存储的支持也很棒:
- 先安装所需包:
install.packages(c("dplyr", "dbplyr", "duckdb"))
- 读取Parquet文件的代码:
library(dplyr) library(dbplyr) library(duckdb) # 建立临时duckdb连接 con <- dbConnect(duckdb()) # 读取Parquet并转成R数据框 df <- tbl(con, "Financial_Sample.parquet") %>% collect() # 用完记得断开连接 dbDisconnect(con)
方案2:使用轻量的parquet包
这个包是专门针对Parquet文件的极简实现,功能足够读取本地文件,安装速度极快:
- 安装包:
install.packages("parquet")
- 读取代码和你原本的逻辑几乎一致:
library(parquet) df <- read_parquet("Financial_Sample.parquet")
⚠️ 注意:这个包的功能没有arrow全面,但单纯读取本地Parquet完全够用。
方案3:bash命令行转CSV后再读取
如果愿意用bash操作,也可以先把Parquet转成熟悉的CSV格式,再用R读取:
- 先在WSL里安装duckdb命令行工具:
sudo apt update && sudo apt install duckdb-cli
- 执行转换命令:
duckdb -c "COPY (SELECT * FROM 'Financial_Sample.parquet') TO 'Financial_Sample.csv' WITH (FORMAT CSV, HEADER 1);"
- 然后在R里读取CSV:
df <- read.csv("Financial_Sample.csv")
内容的提问来源于stack exchange,提问作者ATU
相关产品推荐
相关产品推荐

