DuckDB无法读取路径正确的Parquet文件的问题排查求助
DuckDB读取Parquet文件时的IO异常问题
在VS Code的Jupyter笔记本中,尝试用DuckDB读取大型Parquet文件,目标是直接查询数据子集以避免因内存不足加载全量数据,但DuckDB持续抛出IOException,尽管文件路径正确且可通过pandas正常读取。
尝试的基础查询代码
import duckdb # Querying a subset of the Parquet file query = """ SELECT * FROM '../Data/train.parquet' WHERE date_id <= 85 """ train_df = duckdb.query(query).to_df()
收到的错误信息
IOException: IO Error: No files found that match the pattern "../Data/train.parquet"
绝对路径尝试代码
已确认相对路径和绝对路径在pandas.read_parquet()中均有效,但DuckDB使用两种路径均报错,绝对路径尝试代码如下:
import os absolute_path = os.path.abspath('../Data/train.parquet') query = f""" SELECT * FROM '{absolute_path}' WHERE date_id <= 85 """ train_df = duckdb.query(query).to_df()
该Parquet文件可通过pandas正常加载,但需避免用pandas读取(会加载全量数据至内存,超出系统RAM限制)。
疑问
- 为何DuckDB无法直接读取该Parquet文件?
- 在Jupyter Notebook或VS Code中使用DuckDB处理Parquet文件是否需特定配置?
- 有无无需加载全量数据即可用DuckDB查询大型Parquet文件的替代方法?
恳请提供相关见解或建议。
内容的提问来源于stack exchange,提问作者Haamed Rahman
相关产品推荐
相关产品推荐

