我有 185 个数据文件,总共包含 3000 万行。每两个有两列;我想用作索引的单个 int 和 512 个 int 的列表。
所以它看起来像这样
IndexID Ids
1899317 [0, 47715, 1757, 9, 38994, 230, 12, 241, 12228...
22861131 [0, 48156, 154, 6304, 43611, 11, 9496, 8982, 1...
2163410 [0, 26039, 41156, 227, 860, 3320, 6673, 260, 1...
15760716 [0, 40883, 4086, 11, 5, 18559, 1923, 1494, 4, ...
12244098 [0, 45651, 4128, 227, 5, 10397, 995, 731, 9, 3...
数据太大而无法加载到内存中,但我想使用索引列表一次检索几百行。
我从这条评论中得到了使用 Parquet 的建议。 将 pandas 数据帧或 2d numpy 数组保存到 h5py 中的最有效方法,每行一个单独的键,使用一列
我一直在看官方的 parquet python guide
https://arrow.apache.org/docs/python/parquet.html
和
快速镶木地板指南
https://fastparquet.readthedocs.io/en/latest/api.html
但我似乎找不到任何方法来使用索引检索行,以及表是否存储在磁盘上,或者是否全部加载到内存中。
这可能吗?如果是这样,我将如何做这样的事情?
例如
ParquetTable[22861131, 15760716]
[0, 48156, 154, 6304, 43611, 11, 9496, 8982, 1... [0, 40883, 4086, 11, 5, 18559, 1923, 1494, 4, ...