【发布时间】:2021-02-03 17:01:24
【问题描述】:
我有两个持续时间有限(通常为 1-60 秒)的数据流,我想将它们存储在压缩数据文件中以供以后检索。目前我正在使用 HDF5,但我听说过 Parquet 并想尝试一下。
流 1:
数据以一系列记录的形式到达,大约每秒 2500 条记录。每条记录都是一个元组(时间戳、标签、数据),大小如下:
- 时间戳:64 位值
- 标签:8 位值
- 数据:可变长度八位字节(通常每条记录大约 100 个字节,有时更多,有时更少)
流 2:
数据以一系列记录的形式到达,大约每秒 100000 条记录。每条记录都是一个元组(时间戳、索引、值),大小如下:
- 时间戳:64 位
- 索引:16 位值
- 数据:32 位值
我可以用 Apache Parquet 做到这一点吗?我完全不熟悉这个 + 似乎找不到合适的文档;我找到了有关读取/写入整个表的文档,但在我的情况下,我需要以一定数量的行批量写入表(取决于我想要使用的缓冲区大小)。
我对 Java 和 Python 都感兴趣,可以探索其中任何一个,但我对 Python 更流利。
我为 pyarrow 找到了这个页面:https://arrow.apache.org/docs/python/parquet.html --- 它讨论了行组以及 ParquetWriter 和 read_row_group(),但我不知道它是否支持我的用例。
有什么建议吗?
【问题讨论】: