1

我想知道 Avro 是否支持随机访问或查询。例如,如果我创建一个名为 B.avro 的 Avro 文件,其中包含 2 个二进制文件 X.png 和 Y.png,是否可以直接访问 Y.png?无需遍历整个文件,如果有一种方法可以直接使用文件密钥访问文件内容,那就太好了。

如果没有,是否有任何其他数据结构可以让我在 hadoop 环境 sequenceFiles, HAR 中执行此操作?我基本上使用 Avro 作为处理 hadoop 中大量小文件的一种方式,但我也想查询这些文件,这使得将它们存储在更大的集合中时变得很困难。

谢谢。

4

1 回答 1

0

我不知道是否有任何 OOTB 功能允许我们通过其密钥访问值。但是DataFileReader提供的public void seek(long position)支持对 AVro 数据文件的随机访问。

您可能会发现 MapFile 很有用。MapFile.Reader类允许我们获取命名键的值。

如果这不是您所需要的,请不要介意。

于 2013-07-05T02:56:58.317 回答