<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
    請問一下,我試了好次,都沒成功自動創建索引。請問大神你是如何做的?謝謝


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


    網站導航:
     
    主站蜘蛛池模板: 久久亚洲国产精品| 亚洲AV无码久久精品成人| 亚洲视频一区网站| 无码免费一区二区三区免费播放 | 永久免费AV无码国产网站| 亚洲无线电影官网| 亚洲成人在线免费观看| 亚洲午夜成激人情在线影院| 日本人的色道免费网站| 午夜在线a亚洲v天堂网2019| 久久精品免费全国观看国产| 中文字幕亚洲男人的天堂网络| 国产三级在线观看免费| 欧美亚洲精品一区二区| 亚洲色婷婷综合开心网| 国产在线观看免费视频软件| 自怕偷自怕亚洲精品| 三年片在线观看免费观看高清电影| 亚洲中文字幕乱码AV波多JI | 免费AA片少妇人AA片直播| 亚洲色大成网站www久久九| 免费国产真实迷j在线观看| 有码人妻在线免费看片| 亚洲男人天堂2017| 午夜毛片不卡免费观看视频| 永久免费无码网站在线观看个| 亚洲AV永久无码区成人网站| 免费阿v网站在线观看g| 色多多A级毛片免费看| 亚洲av永久无码精品国产精品| 4399好看日本在线电影免费| 色视频在线观看免费| 久久亚洲高清观看| 久久久久免费看黄A片APP | 亚洲一区二区三区高清视频| 国产免费卡一卡三卡乱码| a毛片全部免费播放| 狠狠色伊人亚洲综合网站色| 精品亚洲一区二区三区在线播放| 99精品国产成人a∨免费看| 亚洲av无码一区二区三区人妖|