(一)程式設計實現以下指定功能,並用
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表...