W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
它是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è)不同之處:
注意,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ì)的。
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: