【发布时间】:2021-05-18 21:00:28
【问题描述】:
我刚刚读到 HDF5 允许您在不将整个文件读入内存的情况下访问数据。
在没有 Java(非 pyspark 解决方案)的 Parquet 文件中是否可以进行这种搜索行为?由于强大的 dtype 支持,我正在使用 Parquet。
import h5py
f = h5py.File('my_file.hdf5', 'w')
dset = f.create_dataset('coords', data=my_ndarray)
f.close()
f = h5py.File('my_file.hdf5', 'r')
dset = f['coords']
my_array = dset[-2:]
https://arrow.apache.org/docs/python/parquet.html#inspecting-the-parquet-file-metadata
我在这里看到 Parquet 元数据有 num_row_groups: 1 (or more)。但我不确定这如何帮助我获取行 [23、42、117、99293184]。
【问题讨论】:
-
当然,您可以将元数据写入 parquet 文件,并使用该元数据“索引”包含您想要的数据的特定行组。
-
我有点不确定你在追求什么。您是在询问 Parquet 是否支持随机访问?例如,您没有使用 HDF5 并且想要类似的功能?
-
或者你是在问HDF5的随机访问是否足以支持parquet的部分读取模型?例如,您将 parquet 文件存储在 HDF5 存储中。
-
@Pace 是的,我想从 parquet 中获取行列表
标签: parquet pyarrow fastparquet