Avro hadoop 随机访问文件
Posted
技术标签:
【中文标题】Avro hadoop 随机访问文件【英文标题】:Avro hadoop random access to files 【发布时间】:2013-07-05 00:59:16 【问题描述】:我想知道 Avro 是否支持随机访问或查询。例如,如果我创建一个名为 B.avro 的 Avro 文件,其中包含 2 个二进制文件 X.png 和 Y.png,是否可以直接访问 Y.png?无需遍历整个文件,如果有一种方法可以直接使用文件密钥访问文件内容,那就太好了。
如果没有,是否有任何其他数据结构可以让我在 hadoop 环境 sequenceFiles, HAR 中执行此操作?我基本上使用 Avro 作为处理 hadoop 中大量小文件的一种方式,但我也想查询这些文件,这使得将它们存储在更大的集合中时变得很困难。
谢谢。
【问题讨论】:
【参考方案1】:我不知道是否有任何 OOTB 功能允许我们通过其密钥访问值。但是public void seek(long position)支持随机访问AVro数据文件,DataFileReader提供。
您可能会发现 MapFile 很有用。 MapFile.Reader 类允许我们获取命名键的值。
如果这不是您所需要的,请不要介意。
【讨论】:
以上是关于Avro hadoop 随机访问文件的主要内容,如果未能解决你的问题,请参考以下文章