<rt id="bn8ez"></rt>
<label id="bn8ez"></label>

  • <span id="bn8ez"></span>

    <label id="bn8ez"><meter id="bn8ez"></meter></label>

    posts - 110, comments - 101, trackbacks - 0, articles - 7
      BlogJava :: 首頁 :: 新隨筆 :: 聯系 :: 聚合  :: 管理

    htable coprocessor使用

    Posted on 2012-08-16 17:30 云云 閱讀(1171) 評論(1)  編輯  收藏
    在網瀏覽的時候  發現了這篇文章  很有用  就保留了下來

    hbase不是數據庫,一些數據庫中基本的功能hbase并不具備.
    二級索引就是其中很重要的一點,在數據庫中索引是在平常不過的功能了.
    而在hbase中,value上的索引只能靠自己來實現.

    hbase中最簡單的二級索引的實現方式是通過另外一個hbase表來實現.
    下面通過postput方法,實現對表sunwg01的二級索引.

    舉例說下二級索引實現:
    表sunwg01的f1:k1有如下記錄
    100 tom
    101 mary

    對于表sunwg01來說,可以通過100,101直接訪問記錄,但是如果想要訪問mary這條記錄,則只能全表遍歷
    為了解決這個問題,創建了表sunwg02
    表sunwg02中的f1:k1有如下記錄
    tom 100
    mary 101

    現在如果要查找mary這條記錄,可以先查表sunwg02中,找到mary的value的為101

    下面通過postput方式實現,在put源表的同時更新索引表的功能。
    詳細代碼如下:

    import java.io.IOException; import java.util.Iterator; import java.util.List;   import org.apache.hadoop.hbase.KeyValue; import org.apache.hadoop.hbase.client.HTable; import org.apache.hadoop.hbase.client.Put; import org.apache.hadoop.hbase.coprocessor.BaseRegionObserver; import org.apache.hadoop.hbase.coprocessor.ObserverContext; import org.apache.hadoop.hbase.coprocessor.RegionCoprocessorEnvironment; import org.apache.hadoop.hbase.regionserver.wal.WALEdit;   public class postput_test extends BaseRegionObserver {         @Override      public void postPut(final ObserverContext<RegionCoprocessorEnvironment> e,           final Put put, final WALEdit edit, final boolean writeToWAL) throws IOException {             HTable table = new HTable("sunwg02");           List<KeyValue> kv = put.get("f1".getBytes(), "k1".getBytes());           Iterator<KeyValue> kvl = kv.iterator();             while(kvl.hasNext()) {               KeyValue tmp = kvl.next();               Put tput = new Put(tmp.getValue());               tput.add("f1".getBytes(),"k1".getBytes(),tmp.getRow());               table.put(tput);             }           table.close();       } 






    評論

    # re: htable coprocessor使用   回復  更多評論   

    2013-08-09 15:33 by jxauwxj@126.com
    請問一下,我試了好次,都沒成功自動創建索引。請問大神你是如何做的?謝謝


    只有注冊用戶登錄后才能發表評論。


    網站導航:
     
    主站蜘蛛池模板: 亚洲伊人tv综合网色| 亚洲av无码成h人动漫无遮挡| 亚洲天堂男人影院| 黄+色+性+人免费| 亚洲美女大bbbbbbbbb| 亚洲一级毛片免费看| 亚洲欧洲在线播放| 久久久久久久91精品免费观看| 亚洲1区1区3区4区产品乱码芒果| 4399好看日本在线电影免费| 亚洲熟妇自偷自拍另欧美| 午夜dj免费在线观看| 国产亚洲女在线线精品| 亚洲高清偷拍一区二区三区| 中国一级特黄高清免费的大片中国一级黄色片 | 国产亚洲一区二区三区在线不卡| 亚洲综合一区无码精品| 国产一区二区三区在线免费| 日韩大片在线永久免费观看网站| 亚洲午夜国产精品无码老牛影视| 91禁漫免费进入| 亚洲中文字幕无码久久| 国产三级电影免费观看| 在线看片免费人成视频久网下载| 亚洲视频在线观看| 大香人蕉免费视频75| 日本一区二区在线免费观看| 久久精品亚洲综合专区| 久久精品无码一区二区三区免费| 亚洲aⅴ无码专区在线观看春色 | 国产免费牲交视频| 国产麻豆成人传媒免费观看| 亚洲毛片免费视频| 成人伊人亚洲人综合网站222| 精品免费tv久久久久久久| 亚洲视频在线观看2018| 亚洲乱码中文字幕手机在线| 最近中文字幕完整免费视频ww| 亚洲av无码日韩av无码网站冲| 国产av天堂亚洲国产av天堂| 巨胸喷奶水视频www网免费|