HBase異步管理

2018-05-14 13:43 更新

HBase異步管理

您可以從ConnectionFactory中獲取一個AsyncConnectionfrom,然后從中獲取一個AsyncAdmin實(shí)例來訪問HBase。請注意,有兩種getAdmin方法來獲取AsyncAdmin實(shí)例。一種方法有一個額外的線程池參數(shù)用于執(zhí)行回調(diào)。它是為普通用戶設(shè)計的。另一種方法不需要線程池,并且所有的回調(diào)函數(shù)都在框架線程中執(zhí)行,所以不允許在回調(diào)中耗費(fèi)時間。它專為高級用戶設(shè)計。

默認(rèn)的getAdmin方法將返回一個使用默認(rèn)配置的AsyncAdmin實(shí)例。如果你想定制一些配置,你可以使用getAdminBuilder方法為創(chuàng)建AsyncAdmin實(shí)例來獲得AsyncAdminBuilder。用戶可以自由設(shè)置他們關(guān)心的配置來創(chuàng)建一個新的AsyncAdmin實(shí)例。

對于AsyncAdmin接口,大多數(shù)方法與舊的Admin界面有相同的含義,期望返回值通常是用CompletableFuture包裝的。

對于大多數(shù)管理員操作,當(dāng)返回的CompletableFuture完成時,這意味著管理操作也已完成。但對于緊湊型操作而言,這只表示緊湊的請求已發(fā)送給HBase,可能需要一些時間才能完成緊湊操作。對于rollWALWriter方法,它只意味著rollWALWriter請求已發(fā)送到區(qū)域服務(wù)器,可能需要一些時間才能完成rollWALWriter操作。

對于區(qū)域名稱,我們只接受byte[]作為參數(shù)類型,它可能是完整的區(qū)域名稱或編碼的區(qū)域名稱。對于服務(wù)器名稱,我們只接受ServerName作為參數(shù)類型。對于表名,我們只接受TableName作為參數(shù)類型。對于list*操作,我們只接受Pattern作為參數(shù)類型,如果你想做正則表達(dá)式匹配。

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

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號