<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 :: 首頁 :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理

    htable coprocessor使用

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

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

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

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

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

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

    下面通過postput方式實現(xiàn),在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
    請問一下,我試了好次,都沒成功自動創(chuàng)建索引。請問大神你是如何做的?謝謝


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


    網(wǎng)站導航:
    博客園   IT新聞   Chat2DB   C++博客   博問  
     
    主站蜘蛛池模板: 激情综合亚洲色婷婷五月APP| 亚洲日韩精品A∨片无码| 亚洲最大成人网色香蕉| 久久国产免费福利永久| 久久亚洲AV午夜福利精品一区| a级毛片高清免费视频| 亚洲日产无码中文字幕| 成人影片一区免费观看| 久久久久亚洲Av片无码v| 一级毛片免费毛片一级毛片免费| 亚洲国产成人久久综合一| 中文字幕免费在线| 亚洲人妖女同在线播放| 无码人妻精品一二三区免费| 亚洲av无码专区在线电影| 亚洲A∨午夜成人片精品网站| 久久精品成人免费观看97| 久久亚洲精品人成综合网 | 国产青草亚洲香蕉精品久久| 国产人妖ts在线观看免费视频| 色噜噜狠狠色综合免费视频| 国产a v无码专区亚洲av| 无码人妻久久一区二区三区免费| 亚洲中文字幕久久精品无码2021| 在线免费观看一级片| 72pao国产成视频永久免费| 亚洲爱情岛论坛永久| 免费鲁丝片一级在线观看| 美女啪啪网站又黄又免费| 亚洲精品国产品国语在线| 亚洲三级在线免费观看| 亚洲AV无码一区二区三区性色| 亚洲日本中文字幕天堂网| 亚洲精品免费视频| 韩国亚洲伊人久久综合影院| 亚洲色欲久久久综合网| 久久精品国产免费观看| 人妻仑刮八A级毛片免费看| 久久精品a亚洲国产v高清不卡| 国产无遮挡色视频免费视频| 国产麻豆一精品一AV一免费|