Hbase基本操作

2021-10-01 03:33:03 字數 3432 閱讀 7775

ddl、dml、dcl介紹(這裡不全部適用於hbase):

dml(data manipulation language):

它們是select、update、insert、delete,就象它的名字一樣,這4條命令是用來對資料庫裡的資料進行操作的語言

ddl(data definition language):

ddl比dml要多,主要的命令有create、alter、drop等,ddl主要是用在定義或改變表(table)的結構,資料型別,表之間的鏈結和約束等初始化工作上,他們大多在建立表時使用

dcl(data control language):

是資料庫控制功能。是用來設定或更改資料庫使用者或角色許可權的語句,包括(grant,deny,revoke等)語句。

系統環境

linux ubuntu 16.04

jdk-7u75-linux-x64

hadoop 2.6.0-cdh5.4.5

hbase 1.0.0-cdh5.4.5

任務內容

掌握hbase的ddl(資料定義語言)和dml(資料操縱語言)命令

3.使用jps檢視相關程序

view plain copy

jps4.輸入hbase shell進入shell環境

view plain copy

hbase shell

5.使用version命令檢視版本資訊

view plain copy

version

6.使用status命令檢視伺服器狀態

view plain copy

status

7.使用whoami命令可檢視當前使用者

view plain copy

whoami

8.使用list命令來檢視一下都有哪些表

view plain copy

list

9.我們來建立一張表,表的引數如下:

表名為table_name,列族名為f1(語法:create

, )view plain copy

create 『table_name』,『f1』

我們也可以指定資料儲存的版本數,如:create 『table_name2』,

10.使用exists命令檢視table_name表是否存在

view plain copy

exists 『table_name』

11.使用desc命令來檢視一下table_name表結構(語法:describe

)view plain copy

desc 『table_name』

12.修改table_name的表結構,將ttl(生存週期)改為30天,這裡要注意,修改表結構前必須先disable使表失效,修改完成後再使用enable命令,使表重新生效(可用is_enabled 'table_name』或is_disabled 'table_name』判斷表的狀態)

view plain copy

disable 『table_name』

alter 『table_name』,

enable 『table_name』

這裡2592000為30天的秒數,再次使用desc命令會發現表的ttl已經改為了2592000

13.現在我們使用put命令向table_name表中插入一行資料

(語法:put

,,family:column,,)

view plain copy

put 『table_name』,『rowkey001』,『f1:col1』,『value1』

put 『table_name』,『rowkey001』,『f1:col2』,『value2』

put 『table_name』,『rowkey002』,『f1:col1』,『value1』

這其中,'table_name』為表名,'rowkey001』為rowkey,『f1:col1』 f1為列族,col1為列,'value1』為值,同乙個列族下可以有多個列,同乙個rowkey視為同一行。

14.使用get命令來查詢一下table_name表,rowkey001中的f1下的col1的值

(語法:get

,,[family:column,…])

view plain copy

get 『table_name』,『rowkey001』, 『f1:col1』

另一種用法:

view plain copy

get 『table_name』,『rowkey001』,

15.查詢表table_name,rowkey001中的f1下的所有列值

view plain copy

get 『table_name』,『rowkey001』

16.使用scan命令掃瞄全表(語法:scan

, )view plain copy

scan 『table_name』

也可以限定掃瞄表的前幾行資料,我們掃瞄前1行資料

view plain copy

scan 『table_name』,

由此也可以看出,rowkey相同的資料視為一行資料

17.使用count命令,檢視table_name表中的資料行數

(語法:count

, )interval設定多少行顯示一次及對應的rowkey,預設1000;cache每次去取的快取區大小,預設是10,調整該引數可提高查詢速度

查詢表table_name中的資料行數,每10條顯示一次,快取區為200

view plain copy

count 『table_name』,

由於我們的資料只有2行,所以查詢結果為2

18.使用delete命令刪除table_name表中,rowkey001中的f1:col2的資料

(語法:delete

, ,

family:column , ,必須指定列名)

view plain copy

delete 『table_name』,『rowkey001』,『f1:col2』

這裡需要注意,如果該列儲存有多個版本的資料,將一併被刪除

19.使用deleteall命令,刪除table_name表中rowkey002這行資料

(語法:deleteall

, ,

family:column , ,可以不指定列名,刪除整行資料)

view plain copy

deleteall 『table_name』,『rowkey002』

20.使用truncate命令,刪除table_name表中的所有資料

(語法: truncate

其具體過程是:disable table -> drop table -> create table)

view plain copy

truncate 『table_name』

至此,我們的實驗就已經結束了

提交儲存

傳送訊息

HBase 基本操作

如何新增列族很簡單,跟rdbms一樣 直接用alter,但是alter之前必須先disable這個表 disable test 先禁用,目前我用的hbase 0.92版本,尚需要先disable,後期版本不知是否可以不用disable alter test 直接alter 後邊寫入你要 加的列族 e...

Hbase基本操作

hbase shell是乙個基於ruby的語言開發的命令列操作環境。在hmaser主機上,可以通過命令列鍵入hbase shell,進入hbase的命令列環境,進入hbase shell後會看到類似如下形式的命令提示符 hbase main 002 0 在shell模式下,可以對集群 資料表和資料進...

Hbase基本操作

建立乙個名為pageviews的表,並具有名為info的列簇 每張表至少要有乙個列簇,因此我們建立了info,現在,看看我們的表,執行下面list命令 describe命令返回表的詳細資訊,包括列簇的列表,這裡我們建立的僅有乙個 info,現在為表新增以下資料,下面命令是在info中新增新的行 pu...