(一)
程式設計實現以下指定功能,並用hadoop提供的hbase shell命令完成相同任務:
列出hbase所有的表的相關資訊,例如表名;
在終端列印出指定的表的所有記錄資料;
向已經建立好的表新增和刪除指定的列族或列;
清空指定的表的所有記錄資料;
統計表的行數。
(二)hbase資料庫操作
1. 現有以下關係型資料庫中的表和資料,要求將其轉換為適合於hbase儲存的表並插入資料:
學生表(student)
學號(s_no)
姓名(s_name)
性別(s_***)
年齡(s_age)
2015001
zhangsan
male
232015003
mary
female
222015003
lisi
male
24課程表(course)
課程號(c_no)
課程名(c_name)
學分(c_credit)
123001
math
2.0123002
computer science
5.0123003
english
3.0選課表(sc)
學號(sc_sno)
課程號(sc_cno)
成績(sc_score)
2015001
123001
862015001
123003
692015002
123002
772015002
123003
992015003
123001
982015003
123002
952. 請程式設計實現以下功能:
(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指定的行的記錄。
常用命令:
Hbase常用命令
一般操作 hbase main status hbase main version 建立命名空間 namespace指的是乙個 表的邏輯分組 同一組中的表有類似的用途,相當於關係型資料庫中的database。hbase main 060 0 create namespace test1 drop n...
hbase常用命令
建立表 create 表名 列族名1 列族名2 列族名n 例子 create user info1 info2 檢視所有表 list 描述表 describe 表名 判斷表存在 exists 表名 判斷是否禁用啟用表 is enabled 表名 is disabled 表名 新增記錄 put 表名 ...
hbase 常用命令
使用 hbase shell 命令來啟動hbase的互動shell bin hbase shell 退出 shell hbase main 021 0 exit 建立表 create emp personal data professional data list 列出所有表。禁用表 disable...