HBase(五) HBase JAVA API - HTable、HTablePool與底層連接的共享

      網友投稿 953 2025-03-31

      單表交互的API,HBASE的CRUD操作都是使用這個類。繼承自HTableInterface接口。


      HTable實例的創建過程比較消耗資源,如每個實例都要掃描.META.表,以檢查該表是否存在、是否可用,還有其他的一些操作,所以HTable實例不適合頻繁的創建,要盡量復用。

      HTable不是線程安全類,并發場景要注意隔離。如果是多線程場景,適合為每個線程分配一個HTable實例,或者使用HTablePool。

      HTable的所有操作,都保證也只能保證行級別的原子性。

      HTablePool是HTable的池化管理類,有幾種構造函數,無參的構造函數默認會創建一個無限大的池,一般不建議這么用,使用需要指定最大實例數目的構造函數。還有自定義HTableInterfaceFactory的構造函數,使用這種構造函數可以自定義HTable的一些特殊的配置,比如一些初始化操作等。

      使用getTable(String tableName)方法從池中取HTable實例,使用后調用putTable(HTableInterface table)方法放回。

      有一點需要注意(個人認為也是hbase實現的問題),maxSize參數并不強行限制用戶能得到的HTableInterface實例的上限,客戶端能用getTable方法訪問盡可能多的table實例。這個參數僅僅能設置池中能存放的HTableInterface實例的數目,比如maxSize=5,調用10次getTable會創建10個實例,后調用putTable,只有5次可以發揮作用,后面5次會被忽略,包括工廠的release機制也不會被觸發,只是單純的拋棄。

      Configuration conf = HBaseConfiguration.create();

      HTablePool pool = new HTablePool(conf, 5);

      HTableInterface [] tables = new HTableInterface[10];

      // 超出容量一樣可以分配

      for(int i=0;i<10;i++){

      tables[i] = pool.getTable("t1");

      System.out.println(Bytes.toString(tables[i].getTableName()));

      }

      for(int i=0;i<10;i++){

      pool.putTable(tables[i]);

      }

      HBase(五) HBase JAVA API - HTable、HTablePool與底層連接的共享

      pool.closeTablePool("t1");

      closeTablePool方法會遍歷所有保存在列表中與參數對應的表的引用,使用工廠的release機制,會釋放一張表的所有資源。所有的資源都要處理異常并釋放,代碼中使用過的表都要調用這個方法去釋放資源

      每個HTable實例底層都需要與服務器連接,連接是HConnection類表示的,并使用HConnectionManager類管理和共享。使用API時不需要直接實例化這兩個類,只需要創建一個Configuration實例,然后隱式的使用連接。

      deleteConnection(org.apache.hadoop.conf.Configuration conf)

      deleteAllConnections(boolean stopProxy)

      轉載請注明出處:華為云博客 https://portal.hwclouds.com/blogs

      hbase

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      版權聲明:本文內容由網絡用戶投稿,版權歸原作者所有,本站不擁有其著作權,亦不承擔相應法律責任。如果您發現本站中有涉嫌抄襲或描述失實的內容,請聯系我們jiasou666@gmail.com 處理,核實后本網站將在24小時內刪除侵權內容。

      上一篇:excel表格兩列數據進行對比的教程(excel表格兩列做對比)
      下一篇:Word2003表格列或行的插入方法詳解(word2003怎么添加表格行列)
      相關文章
      亚洲国产精品午夜电影| 久久久久亚洲精品天堂久久久久久| 亚洲精品高清一二区久久| 亚洲w码欧洲s码免费| 91亚洲精品自在在线观看| 亚洲国产精品网站久久| 亚洲国产亚洲综合在线尤物| 亚洲成AV人片久久| 亚洲制服丝袜精品久久| 亚洲一级毛片视频| jiz zz在亚洲| 亚洲精品欧美综合四区| 亚洲色一区二区三区四区| 一本色道久久88亚洲精品综合 | 亚洲精品一级无码鲁丝片| 精品亚洲av无码一区二区柚蜜| 亚洲精品伦理熟女国产一区二区| 亚洲国产无线乱码在线观看 | 亚洲精品高清久久| 亚洲高清中文字幕| 亚洲乱码一二三四五六区| 国产v亚洲v天堂a无| 亚洲人成色在线观看| 亚洲AV无码一区二区大桥未久| 亚洲.国产.欧美一区二区三区| 国产亚洲精品国产福利在线观看| 国产午夜亚洲精品不卡免下载| 亚洲国产一区视频| 亚洲色婷婷一区二区三区| 亚洲短视频男人的影院| 亚洲精品一卡2卡3卡三卡四卡| 亚洲91精品麻豆国产系列在线| 亚洲色大成网站www久久九 | 亚洲视频在线视频| 亚洲天堂中文字幕在线观看| 亚洲熟女乱色一区二区三区 | 亚洲国产成人久久综合一区77| 久久亚洲精品无码gv| 亚洲一区二区视频在线观看 | 亚洲a在线视频视频| 亚洲成A∨人片在线观看无码|