99re热这里只有精品视频,7777色鬼xxxx欧美色妇,国产成人精品一区二三区在线观看,内射爽无广熟女亚洲,精品人妻av一区二区三区

HBase異步客戶端

2018-05-11 14:50 更新

HBase異步客戶端

它是HBase 2.0中引入的新API,旨在提供異步訪問(wèn)HBase的能力。

您可以從ConnectionFactory獲取AsyncConnectionfrom,然后從中獲取一個(gè)異步表實(shí)例來(lái)訪問(wèn)HBase。完成后關(guān)閉AsyncConnection實(shí)例(通常在程序退出時(shí))。

對(duì)于異步表,大多數(shù)方法與舊Table界面有相同的含義,預(yù)期返回值通常包含CompletableFuture。我們?cè)谶@里沒(méi)有任何緩沖區(qū),所以沒(méi)有關(guān)于異步表的close方法,你不需要關(guān)閉它。它是線程安全的。

掃描(scan)有以下幾個(gè)不同之處:

  • getScanner方法可以返回一個(gè)ResultScanner。你可以以舊的方式使用它,它的工作原理與舊的ClientAsyncPrefetchScanner一樣。
  • scanAll方法會(huì)一次返回所有的結(jié)果。它旨在為小掃描提供一種更簡(jiǎn)單的方法,您通常希望一次獲得全部結(jié)果。
  • 觀察者(Observer)模式。有一種掃描方法接受ScanResultConsumer作為參數(shù)。它會(huì)將結(jié)果傳遞給消費(fèi)者。

注意,AsyncTable接口是模板化的。模板參數(shù)指定掃描使用的ScanResultConsumerBase類(lèi)型,這意味著觀察者模式掃描API是不同的。這兩種類(lèi)型的掃描用戶是 ScanResultConsumer和AdvancedScanResultConsumer。

ScanResultConsumer需要一個(gè)單獨(dú)的線程池,用于執(zhí)行向返回的CompletableFuture注冊(cè)的回調(diào)。由于使用單獨(dú)的線程池可以釋放RPC線程,所以回調(diào)可以自由地執(zhí)行任何操作。如果回調(diào)不快,或者有疑問(wèn),請(qǐng)使用此功能。

AdvancedScanResultConsumer在框架線程內(nèi)執(zhí)行回調(diào)。不允許在回調(diào)中執(zhí)行耗時(shí)的工作,否則它可能會(huì)阻塞框架線程并導(dǎo)致非常糟糕的性能影響。顧名思義,它是為想要編寫(xiě)高性能代碼的高級(jí)用戶而設(shè)計(jì)的。

以上內(nèi)容是否對(duì)您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號(hào)
微信公眾號(hào)

編程獅公眾號(hào)