我想知道avro是否支持随机访问或查询。例如,如果我创建一个名为b.avro的avro文件,其中包含两个二进制文件x.png和y.png,是否可以直接访问y.png?不需要遍历整个文件,如果有一种方法可以直接使用文件密钥访问文件内容,那就太好了。如果没有其他的数据结构可以让我在hadoop环境中实现这一点,sequencefiles,har?我基本上是使用avro来处理hadoop中大量的小文件,但是我也想查询这些文件,这使得在较大的集合中存储它们变得很困难。谢谢。
a8jjtwal1#
我不知道是否有任何ootb特性允许我们通过它的键访问值。但是对avro数据文件的随机访问由datafilereader提供的public void seek(long position)支持。您可能会发现mapfile很有用。类mapfile.reader允许我们获取命名键的值。如果这不是你需要的,请不要介意。
1条答案
按热度按时间a8jjtwal1#
我不知道是否有任何ootb特性允许我们通过它的键访问值。但是对avro数据文件的随机访问由datafilereader提供的public void seek(long position)支持。
您可能会发现mapfile很有用。类mapfile.reader允许我们获取命名键的值。
如果这不是你需要的,请不要介意。