【发布时间】:2021-11-01 06:14:49
【问题描述】:
我在 S3 中有一个巨大的 ORC 对象(> 50GB)。我想反序列化它的块(以流的方式)。这允许我在 S3 文件下载失败的情况下从上次偏移量重试。
我了解 ORC 将元数据存储为页脚。所以,我正在寻找一些解决方案,首先读取页脚,然后进行分块反序列化。
【问题讨论】:
我在 S3 中有一个巨大的 ORC 对象(> 50GB)。我想反序列化它的块(以流的方式)。这允许我在 S3 文件下载失败的情况下从上次偏移量重试。
我了解 ORC 将元数据存储为页脚。所以,我正在寻找一些解决方案,首先读取页脚,然后进行分块反序列化。
【问题讨论】:
s3 支持通过其 http api 查询特定文件范围。假设您提前知道您的条带大小,您可以使用 api 获取文件大小。您可以计算 postscript 偏移量,并仅将其作为块下载。使用该元数据,您可以开始提取文件的其余部分。最好执行多个请求,每个条带一个,并同时解码它们。
【讨论】: