首页 > 解决方案 > 从 R 中的 CSV 文件创建镶木地板文件目录

问题描述

我遇到越来越多的情况,我需要在 R 中使用内存不足 (OOM) 方法进行数据分析。我熟悉其他 OOM 方法,例如sparklyrDBI但我最近遇到arrow并想进一步探索它。

问题是我通常使用的平面文件足够大,以至于在没有帮助的情况下无法将它们读入 R。因此,理想情况下,我更喜欢一种无需首先将数据集读入 R 即可进行转换的方法。

您能提供的任何帮助将不胜感激!

标签: rcsvimportparquetapache-arrow

解决方案


arrow::open_dataset()可以处理文件目录并查询它们,而无需将所有内容读入内存。如果您确实想将数据重写到多个文件中,可能由数据中的一列或多列分区,您可以将 Dataset 对象传递给write_dataset().

一个(临时)警告:从 {arrow} 3.0.0 开始,open_dataset()只接受一个目录,而不是单个文件路径。我们计划在下一个版本中接受单个文件路径或离散文件路径列表(请参阅问题),但现在如果您只需要读取包含其他非数据文件的目录中的单个文件,您将需要将其移动/符号链接到一个新目录并打开它。


推荐阅读