zoukankan      html  css  js  c++  java
  • 5.4.2 mapFile读写和索引

    5.4.2         mapFile

    (1)定义

    MapFile即为排序后的SequeneceFile,将sequenceFile文件按照键值进行排序,并且提供索引实现快速检索。

    (2)索引

    索引取值是每隔128(默认128,可通过io.map.index.interval来修改)个键取一个键组成,将索引加载到内存,实现对mapfile文件的快速检索。

     

    (3)读写

    非常类似sequenceFile,只需要换成MapFile.Reader和MapFile.Writer就可以了。执行文件写操作的时候,该文件是不可读取的。MapFile文件保证key-value的有序(基于key)是通过每一次写入key-value时的检查机制,这种检查机制其实很简单,就是保证当前正要写入的key-value与上一个刚写入的key-value符合设定的顺序。不符合key的非递减顺序,会直接报错,有序是按顺序写入,不是自动的去对输入的key-value排序。

    在命令行显示mapFile的文件内容同样要用  -text

    (4)SequenceFile转mapFile

    mapFile既然是排序和索引后的SequenceFile那么自然可以把SequenceFile转换为MapFile使用mapFile.fix()方法把一个SequenceFile文件转换成MapFile。

    (5)mapFile的变种

    SetFile

    存储writable的键

    ArrayFile

    键是整型,表示数组中的索引,值为writable

    BlooMapFile

    使用动态布隆过滤器来检测键是否在map中。

    (6)面向列的存储方式

    按行存储。顺序文件、map文件和Avro数据文件都是面向行的存储方式,即每一行的数据在存储文件中是连续。

    按列存储。文件中的行被分割成行的分片,然后每一行的第一列在文件中连续存储。

    自己开发了一个股票智能分析软件,功能很强大,需要的点击下面的链接获取:

    https://www.cnblogs.com/bclshuai/p/11380657.html

  • 相关阅读:
    url protocol
    wpf webbrowser取消js报错
    c#端口扫描器wpf+socket
    c#协变 抗变
    MTK刷机快捷键
    iTextCharp c#
    wince可用的7-zip
    直播平台搭建与相关资料
    pyinstall
    面向对象常见的术语
  • 原文地址:https://www.cnblogs.com/bclshuai/p/11841465.html
Copyright © 2011-2022 走看看