參考
1、介紹
在hbase中,namespace命名空間指對一組表的邏輯分組,類似rdbms中的database,方便對錶在業務上劃分。apache hbase從0.98.0, 0.95.2兩個版本開始支援namespace級別的授權操作,hbase全域性管理員可以建立、修改和**namespace的授權。
2、namespace
hbase系統預設定義了兩個預設的namespace
hbase:系統內建表,包括namespace和meta表
default:使用者建表時未指定namespace的表都建立在此
建立namespace
hbase>create_namespace 'ai_ns'
列出所有namespace
hbase>list_namespace
在namespace下建立表
hbase>create 'ai_ns:testtable', 'fm1'
base不是乙個關係型資料庫,它需要不同的方法定義你的資料模型,hbase實際上定義了乙個四維資料模型,下面就是每一維度的定義:
行鍵:每行都有唯一的行鍵,行鍵沒有資料型別,它內部被認為是乙個位元組陣列。
列簇:資料在行中被組織成列簇,每行有相同的列簇,但是在行之間,相同的列簇不需要有相同的列修飾符。在引擎中,hbase將列簇儲存在它自己的資料檔案中,所以,它們需要事先被定義,此外,改變列簇並不容易。
列修飾符:列簇定義真實的列,被稱之為列修飾符,你可以認為列修飾符就是列本身。
版本:每列都可以有乙個可配置的版本數量,你可以通過列修飾符的制定版本獲取資料。
通過行鍵獲取乙個指定的行,它由乙個或多個列簇構成,每個列簇有乙個或多個列修飾符(圖1中稱為列),每列又可以有乙個或多個版本。為了獲取指定資料,你需要知道它的行鍵、列簇、列修飾符以及版本。當設計hbase資料模型時,對考慮資料是如何被獲取是十分有幫助的。你可以通過以下兩種方式獲得hbase資料:
通過他們的行鍵,或者一系列行鍵的表掃瞄。
使用map-reduce進行批操作
這種雙重獲取資料的方法使得hbase變得十分強大,典型地,在hadoop中儲存資料意味著它對離線或批處理方式分析是有益的(尤其是批處理分析),但是,對實時獲取是不必要的。hbase通過key/value儲存來支援實時分析,以及通過map-reduce支援批處理分析。讓我們首先來看實時資料獲取,作為key/value儲存,key是行鍵,value是列簇的集合,如圖2所示。
建立乙個名為pageviews的表,並具有名為info的列簇:
hbase(main):002:0> create 'pageviews', 'info'
0 row(s) in 5.3160 seconds
=> hbase::table - pageviews
每張表至少要有乙個列簇,因此我們建立了info,現在,看看我們的表,執行下面list命令:
hbase(main):002:0> list
table
pageviews
1 row(s) in 0.0350 seconds
=> ["pageviews"]
hbase(main):003:0> describe 'pageviews'
description enabled
'pageviews',
1 row(s) in 0.0480 seconds
這裡我們建立的僅有乙個:info,現在為表新增以下資料,下面命令是在info中新增新的行:
hbase(main):004:0> put 'pageviews', 'rowkey1', 'info:page', '/mypage'
0 row(s) in 0.0850 seconds
put命令插入一條行鍵為rowkey1的新紀錄,指定在info下的page列,插入值為/mypage的記錄,我們隨後可以通過get命令通過行鍵rowkey1查詢到這條記錄:
hbase(main):005:0> get 'pageviews', 'rowkey1'
column cell
info:page timestamp=1410374788088, value=/mypage
1 row(s) in 0.0250 seconds
hbase(main):006:0> put 'pageviews', 'rowkey2', 'info:page', '/myotherpage'
0 row(s) in 0.0050 seconds
HBase常用操作之namespace
1 介紹 在hbase中,namespace命名空間指對一組表的邏輯分組,類似rdbms中的database,方便對錶在業務上劃分。apache hbase從0.98.0,0.95.2兩個版本開始支援namespace級別的授權操作,hbase全域性管理員可以建立 修改和 namespace的授權。...
Hbase 二 Hbase常用操作
常用shell命令 hbase shell命令 描述alter 修改列族 column family 模式 count 統計表中行的數量 create 建立表describe 顯示表相關的詳細資訊 delete 刪除指定物件的值 可以為表,行,列對應的值,另外也可以指定時間戳的值 deleteall...
hbase常用操作
cd bin start hbase.sh cd bin stop hbase.sh cd bin hbase daemon.sh start rest p 20550 登入zookeeper,如 zkcli.sh ls hbase table lock rmr hbase table lock 你...