MapFile
发布日期:2021-06-29 12:30:32 浏览次数:2 分类:技术文章

本文共 838 字,大约阅读时间需要 2 分钟。

一个MapFile可以通过SequenceFile的地址,进行分类查找的格式。使用这个格式的优点在于:首先会将SequenceFile中的地址都加载入内存,并且进行了key值排序,从而提供更快的数据查找。与SequenceFile只生成一个文件不同,MapFile生成一个文件夹。索引模型按128个键建立的,可以通过io.map.index.interval来修改
缺点1.文件不支持复写操作,不能向已存在的SequenceFile(MapFile)追加存储记录2.当write流不关闭的时候,没有办法构造read流。也就是在执行文件写操作的时候,该文件是不可读取的

这里写图片描述

MapFile即为排序后的SequeneceFile,它会额外生成一个索引文件提供按键的查找.读写mapFile与读写SequenceFile非常类似,只需要换成MapFile.Reader和MapFile.Writer就可以了。在命令行显示mapFile的文件内容同样要用  -text
SequenceFile文件是用来存储key-value数据的,但它并不保证这些存储的key-value是有序的。而MapFile文件则可以看做是存储有序key-value的SequenceFile文件。MapFile文件保证key-value的有序(基于key)是通过每一次写入key-value时的检查机制,这种检查机制其实很简单,就是保证当前正要写入的key-value与上一个刚写入的key-value符合设定的顺序。但是,这种有序是由用户来保证的,一旦写入的key-value不符合key的非递减顺序,则会直接报错而不是自动的去对输入的key-value排序
SequenceFile转换为MapFilemapFile既然是排序和索引后的SequenceFile那么自然可以把SequenceFile转换为MapFile使用mapFile.fix()方法把一个SequenceFile文件转换成MapFile

转载地址:https://bupt-xbz.blog.csdn.net/article/details/79171449 如侵犯您的版权,请留言回复原文章的地址,我们会给您删除此文章,给您带来不便请您谅解!

上一篇:HDFS文件压缩
下一篇:SequeceFile读写

发表评论

最新留言

留言是一种美德,欢迎回访!
[***.207.175.100]2024年04月12日 00时28分03秒