[英]HBase Shell Almost 100x Faster Than Restful Endpoint For Prefix Filter
如果在HBase Shell上使用前綴過濾器運行掃描,則無論我使用什么前綴,都可以在不到1秒的時間內得到響應。 (0對9或“ a”對“ z”對響應速度沒有影響)。
但是,當我從Microsoft HBase庫(在C#中)進行相同的查詢時,最多可能需要90秒才能獲得答案。 有趣的是,如果我選擇一個更接近於0的前綴,則它越快,離0越遠,花費的時間就越長。 (作為前綴過濾器,“ a”比“ f”要快)。
不知道如何確定外殼程序與靜態查詢的操作有所不同,或者如何使靜態查詢更高效。
一些細節:
對我應該尋找或試圖改善其余api請求的任何想法嗎?
原來這不是問題。 我沒有像我想的那樣在Shell和其余API上運行相同的命令。
在其余的API上,我提供了兩個過濾器,一個頁面過濾器和一個前綴過濾器。
在HBase Shell上,我正在運行
scan 'beacon', {STARTROW => 'ff', FILTER => "PageFilter(25)"}
STARTROW與前綴過濾器不同。 實際上,它做的更多事情是設置完整的開始行鍵,從而使掃描性能更高,因為它沒有遍歷整個表。
事實證明,這也是我在其余API調用中應該做的事情。 當我除了設置前綴過濾器和頁面過濾器之外,還設置了開始和結束行時,它可以按預期快速運行。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.