使用Polars加载大体积JSON文件时内存不足问题求助
Polars加载大体积JSON文件时内存不足问题求助
我们尝试用Polars加载一个22GB的JSON文件(包含1000万行、65列),但调用collect()时总是内存耗尽导致程序崩溃。目前我们用的是pl.scan_ndjson来读取文件,只能成功加载400MB左右的JSON文件。服务器配置是8GB内存、2核CPU。
在升级服务器配置之前,我们想确认Polars是否支持处理这种规模的文件,或者有没有什么技巧能让它正常运行(比如把JSON文件分割成小块数据集之类的)。我们已经试过使用Lazy API,但结果还是一样。
我们使用的版本信息:
- Python 3.12
- Polars 1.7.0
以下是我们的代码:
import polars as pl file_path = "file.json" lazy_frame = pl.LazyFrame lazy_frame = pl.scan_ndjson(file_path, infer_schema_length=None) selected_columns = [ 'field1', 'field2', 'field3', 'field4', 'field5', 'field6', 'field7', 'field8' ] result = lazy_frame.select([pl.col(col) for col in selected_columns]) df = result.collect(streaming=True) print(df.shape)
感谢各位的帮助,
此致
备注:内容来源于stack exchange,提问作者n4gash
相关产品推荐
相关产品推荐

