Hbase API管理功能1

2021-06-19 16:48:32 字數 2134 閱讀 4270

1.    hbase建表涉及到:表結構+列簇結構的定義,這些定義關係到表和列簇內的資料如何儲存以及何時儲存。

2.    hbase中的資料最終儲存到表中的主要原因是:控制表中的列以到達共享表內的某些特性。

3.    客服端與伺服器、伺服器與伺服器之間進行通訊,都是用hadoop rpc框架,引數都實現了writable介面。writable介面有兩個必須實現的方法:void write(dataoutput out),

void readfiles(datainput  in)。

4.    表名會作為儲存系統中的儲存路徑的一部分來使用。

5.    通常的資料庫正規化化不適合hbase,hbase中的表的數量相對較少。

6.    名:getname(),getnameasstring(),setname(byte name),表名不能以「.」,」-」開頭,可以包括拉丁字母,數字,」-」,」_「,」.」。

7.    列簇:addfamily() , hasfamily() ,getcolumnfamilies() , getfamily() , removefamily()  可以新增列簇,通過列簇檢查列簇是否存在、獲取存在列簇的列表、獲取某個列簇描述符,刪除列簇。通過htabledescriptor類為一張表增加列簇。列簇名必須為可見字元是因為這個名字將會在底層儲存系統中使用。列簇不能重新命名,做法是新建乙個列簇,然後從舊列簇中複製資料到新列簇。

8.    檔案限制大小:setmaxfilesize(long  maxfilesize),預設引數是256mb,表資料量很大時,考慮這個值調高。一行資料不能跨region儲存。

9.    唯讀:setreadonly(boolean  b),設定為true,此表只能讀不能修改。

10.  memstore

刷寫大小:setmemstoreflushsize(long  size),預設值是64mb,這個引數控制何時觸發將記憶體的資料寫入磁碟。如果引數設定的很大,可以生產的儲存檔案越大,檔案數量越少,導致更長的阻塞時間。

11.  延時日誌刷寫:isdeferredlogflush() , setdefrredlogflush(),預設是false。hbase有兩種將wal保證到磁碟的方式,一種是延時日誌刷寫,另一種則不是。

12.  最大版本數:getmaxversions() , setmaxversions(),預設為3。

14.  塊大小:小儲存塊在get或scan操作時會載入到記憶體中,getblockssize(),setblocksize(),預設引數為64kb,此引數用於指定在一次讀取的過程中順序讀取多少資料到記憶體緩衝區。用於高速載入和快取資料。

15.  快取塊:預設引數是true,每次讀取的塊都會快取到記憶體中,如果使用者要順序讀取某個特定列簇,最好設為false。isblockcacheenabled() ,setblockcacheenabled().

16.  生存期

ttl:設定乙個基於時間戳的臨界值,內部的管理會自動檢查ttl值是否到達上限,在major合併過程中時間戳被判定為超過ttl的資料會被刪除。settimetolive(int time),單位是秒。預設值是integer.max_value使用預設值會永久性儲存資料。

17.  在記憶體中:預設值false,isinmemory() , setinmemory(),將這個值設為true並不意味著將整個列簇的所有儲存塊都載入到記憶體中,也不意味著它們會長期儲存在那,而是一種承諾,或說是高優先順序。這個引數適合資料量較小的列簇,例如:登入賬號和密碼的使用者表。

18.  布隆過濾器:能減少特定訪問模式下的查詢時間,這種模式增加了記憶體和儲存的負擔,預設是關閉的。支援的布隆過濾器型別:none,row(行鍵使用布隆過濾器),rowcol(列鍵使用布隆過濾器)。由於列的數量遠多於行的數量,使用rowcol會占用大量的空間。 storefile.bloomtype getbloomfiltertype() ; void setbloomfiltertype()

19.  複製範圍:預設引數是0,意味著這個功能預設關閉。可以另設為1,表示開啟本地集群向遠端集群實時同步的功能。int getscope()  , void  setscope(int  scope)

20.  檢查列簇是否存在:不返回布林型別,檢查不合法時丟擲異常,否則將輸入直接返回。這個方法會在建構函式中呼叫,不需要使用者提前呼叫。static  byte islegalfamilyname(byte  b)

登入日誌管理功能 1

相關變數說明 result usersystem.singin tempusername temppassword out data 得到最後登入資訊的值 userid datarow row data.tables 表名 rows 0 userid convert.toint32 row comm...

CSDN使用者管理功能

2010年8月底我徹底base在北京辦公,這個時候部門員工只有10個人 3個程式設計師,3個社群運營和客服,2個 運維,1個產品設計,1個 ui製作,巧婦難為無公尺之炊。所以9月和10月在公司支援下進行了一 規模招聘,總共招聘了10名新員工,重新build了整個部門團隊,開始取得了一 些成績,但也遇...

文章管理 註冊功能

routes index.js 渲染模板 渲染註冊頁 router.get regist function req,res,next 渲染登入頁 router.get login function req,res,next routes users.js 註冊介面 router.post regis...