hbase获取表信息_HBase的读写和javaAPI的使用
一、hbase系統管理表
hbase:namespace,記錄了hbase中所有namespace的信息 ,當前系統下有哪些namespace信息
scan 'hbase:namespace'
hbase:meta,記錄了region信息
scan 'hbase:meta'
二、讀寫思想
client(get、scan)
rowkey條件
(1)由于rowkey是存儲在region上的
(2)判斷rowkey在哪個region上
(3)找到region在哪臺regionserver上
(4)首先會去meta表中讀取信息,找到regionserver
meta也是一張表,也有region和regionserver
desc hbase:meta
在zookeeper中存儲了meta表的region信息,可以到zookeeper客戶端上去看
讀的流程
(1)根據表名和rowkey(start-end范圍)找到對應的region
(2)在zookeeper中存儲了meta表的region信息
(3)從meta表中獲取相應的region信息
(4)找到對應的regionserver
(5)找到對應的region
寫的流程
(1)根據表名和rowkey(start-end范圍)找到對應的region
(2)在zookeeper中存儲了meta表的region信息
(3)從meta表中獲取相應的region信息
(4)找到對應的regionserver(不是直接往region上寫的,先寫到wal再寫到memstore)
WAL(預寫日志)
memstore(內存中)滿了后會flush成storefile
(5)當多個storefile達到一定大小以后,會進行compaction,合并一個大的storefile
(6)當大的storefile達到一定大小以后,會進行split,等分新的region
三、hbase Java API
啟動Eclipse,創建Maven項目
在pom.xml中添加hbase依賴
?? ??? ??????????? org.apache.hbase??????????? hbase-server??????????? 1.2.1??????? ???????? ??????????? org.apache.hbase??????????? hbase-client??????????? 1.2.1???????創建運行類
最終需要導入的包
創建以下方法
完成表創建
在hbase-site.xml中的配置信息
編寫方法
運行代碼
在hbase中查看,命名空間已經創建了
創建表
運行下代碼
查看下
為了后續方便,我們更改下代碼
將之前的代碼做一下變化(代碼)
運行測試
刪除表(代碼)
運行查看下,表已刪除
添加(代碼)
運行查看下(新創建了一個空間和表格),數據已添加
刪除數據(代碼)
下面這種是篩選刪除
運行查看,數據已空
數據查詢(代碼)注釋部分為篩選
結果查看(控制臺)
Scan查看(代碼)注釋部分為篩選
結果查看
總結
以上是生活随笔為你收集整理的hbase获取表信息_HBase的读写和javaAPI的使用的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: C++学习之路 | PTA乙级—— 10
- 下一篇: Cocos Creator棋牌开发-部署