常用的 HBase 操作

2022-05-05 14:15:06 字數 3853 閱讀 2740

(一)程式設計實現以下指定功能,並用

hadoop

提供的hbase shell

命令完成相同任務:(1

)列出hbase

所有的表的相關資訊,例如表名;

(2)在終端列印出指定的表的所有記錄資料;

(3)向已經建立好的表新增和刪除指定的列族或列;

(4)清空指定的表的所有記錄資料;

(5)統計表的行數。

(二)hbase

資料庫操作

1. 現有以下關係型資料庫中的表和資料,要求將其轉換為適合於

hbase

儲存的表並插入數

據:

請程式設計實現以下功能:(1

)createtable(string tablename, string fields)

建立表,引數

tablename

為表的名稱,字串陣列

fields

為儲存記錄各個欄位名稱的陣列。要求當

hbase

已經存在名為

tablename

的表的時候,先刪除原有的表,然後再建立新的表。(2

)addrecord(string tablename, string row, string fields, string values)

向表tablename

、行row

(用s_name

表示)和字串陣列

fields

指定的單元格中新增對應的資料

values

。其中,

fields

中每個元素如果對應的列族下還有相應的列限定符的話,用"

columnfamily:column

"表示。例如,同時向"

math

"、"computer science

"、"english

"三列新增成績時,字串陣列

fields

為,陣列

values

儲存這三門課的成績。(3

)scancolumn(string tablename, string column)

瀏覽表tablename

某一列的資料,如果某一行記錄中該列資料不存在,則返回

null

。要求當引數

column

為某一列族名稱時,如果底下有若干個列限定符,則要列出每個列限定符代表的列的資料;當引數

column

為某一列具體名稱(例如"

score:math

")時,只需要列出該列的

資料。(4)

modifydata(string tablename, string row, string column)

修改表tablename

,行row

(可以用學生姓名

s_name

表示),列

column

指定的單元格的

資料。(5)

deleterow(string tablename, string row)

刪除表tablename

中row

指定的行的記錄。

importorg.apache.hadoop.conf.configuration;

importorg.apache.hadoop.fs.*;

importorg.apache.hadoop.io.ioutils;

importorg.apache.hadoop.util.progressable;

publicclasshbasetestcatch(ioexception

e) }

publicstaticvoidclose()

if(null!= connection

) }catch(ioexception

e) }

//當hbase已經存在名為tablename的表的時候,先刪除原有的表,然後再建立新的表

publicstaticvoidcreatetable(string tablename, string fields)throwsioexception

htabledescriptor

htabledescriptor=newhtabledescriptor(tablename);

for(string str: fields)

admin

.createtable(htabledescriptor);

close();

}publicstaticvoidaddrecord(string tablename, string row, string fields, string values)throwsioexception

table.close();

close();

}publicstaticvoidscancolumn(string tablename, string column)throwsioexception

table.close();

close();

}publicstaticvoidshowcell(result

result)

}publicstaticvoidmodifydata(string tablename, string row, string column, string val)throwsioexception

}put.addcolumn(row.getbytes(), column.getbytes(), ts

, val.getbytes());

table.put(put);

table.close();

close();

}publicstaticvoiddeleterow(string tablename, string row)throwsioexception

}

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 你...

HBase常用操作

1.建立表 create test cf1 cf2 備註 1.test表示表名 2.cf1和cf2表示列簇名,根據實際情況增加2.檢視有哪些表 list 備註 類似mysql的show tables 3.檢視表結構 describe test 備註 類似mysql的desc4.新增資料 給test表...