<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++博客   博問  
     
    主站蜘蛛池模板: 最近中文字幕mv免费高清视频8| 免费观看又污又黄在线观看| 永久在线观看免费视频| 国产午夜亚洲精品国产成人小说| 黄网站在线播放视频免费观看| 免费国产人做人视频在线观看| 亚洲综合色一区二区三区| 免费影院未满十八勿进网站| 亚洲国产日韩在线人成下载| 日本一卡精品视频免费| 亚洲精品视频久久| 久草视频在线免费| 亚洲一区精品视频在线| 毛片免费在线视频| 亚洲gay片在线gv网站| 国产午夜免费福利红片| igao激情在线视频免费| 亚洲va久久久噜噜噜久久狠狠| 久久久久久免费一区二区三区| 久久精品国产亚洲AV嫖农村妇女 | 95老司机免费福利| 99亚洲精品高清一二区| 69堂人成无码免费视频果冻传媒| 久久亚洲精品专区蓝色区| 在线免费观看一级毛片| 成年大片免费视频播放一级| 亚洲国产美女精品久久久久∴| 在线免费中文字幕| 亚洲性无码一区二区三区| 午夜亚洲国产成人不卡在线| 三级网站在线免费观看| 亚洲国产成人久久三区| 四只虎免费永久观看| 免费无码H肉动漫在线观看麻豆| 久久亚洲精品成人无码网站| 日本不卡在线观看免费v| 国产成人免费ā片在线观看老同学| 亚洲成a人片在线观看中文!!!| 国产国产成年年人免费看片| 久久久精品午夜免费不卡| 亚洲精品久久久久无码AV片软件|