MapReduce掃描緩存

現在,TableMapReduceUtil 恢復了在傳入的 Scan 對象中設置掃描程序緩存(在將結果返回給客戶端之前緩存的行數)的選項。由於 HBase 0.95(HBASE-11558)中的錯誤,此功能丟失。這是為 HBase 0.98.5 和0.96.3 而定的。選擇掃描儀緩存的優先順序如下:

  1. 在掃描對象上設置的緩存設置。
  2. 通過配置選項 hbase.client.scanner.caching 指定的緩存設置,可以在 hbase-site.xml 中手動設置或通過輔助方法 TableMapReduceUtil.setScannerCaching() 設置。
  3. 默認值 HConstants.DEFAULT_HBASE_CLIENT_SCANNER_CACHING,設置為 100。

優化緩存設置是客戶端等待結果的時間和客戶端需要接收的結果集的數量之間的一種平衡。如果緩存設置過大,客戶端可能會等待很長時間,否則請求可能會超時。如果設置太小,掃描需要返回幾個結果。如果將 scan 視為 shovel,則更大的緩存設置類似於更大的 shovel,而更小的緩存設置相當於更多的 shovel,以填充 bucket。

上面提到的優先級列表允許您設置合理的默認值,並針對特定操作對其進行覆蓋。


分享到:


相關文章: