gpt4 book ai didi

parquet - PyArrow 从 S3 中的文件中获取元数据

转载 作者:行者123 更新时间:2023-12-05 07:00:54 25 4
gpt4 key购买 nike

我想使用 PyArrow 从 S3 中的文件中获取 Parquet 文件统计信息(例如最小值/最大值)。我可以使用

获取它
pq.ParquetDataset(s3_path, filesystem=s3)

如果我使用以下方式下载和阅读它,并获得统计信息:

ParquetFile(full_path).metadata.row_group(0).column(col_idx).statistics

希望有一种无需下载整个文件即可实现的方法。

谢谢

最佳答案

我几天前来到这篇文章寻找类似的答案。最后,我找到了一个适合我的简单解决方案。

import pyarrow.parquet as pq
from pyarrow import fs

s3_files = fs.S3FileSystem(access_key) # whatever need to connect to s3

# fetch the dataset
dataset = pq.ParquetDataset(s3_path, filesystem=s3_files)

metadata = {}
for fragment in dataset.fragments:
meta = fragment.metadata
metadata[fragment.path] = meta
print(meta)

元数据存储在字典中,其中键是 s3 中片段的路径,值是该特定片段的元数据。

访问统计信息只需使用

meta.row_group(0).column(col_idx).statistics

每个片段都会打印类似这样的内容

<pyarrow._parquet.FileMetaData object at 0x7fb5a045b5e0>
created_by: parquet-cpp-arrow version 8.0.0
num_columns: 6
num_rows: 10
num_row_groups: 1
format_version: 1.0
serialized_size: 3673

关于parquet - PyArrow 从 S3 中的文件中获取元数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/63994042/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com