Hadoop創建Hbase表方法指導
在學習Hadoop的過程中,你可能會遇到在Hadoop創建Hbase表的問題,本節和大家介紹一下,歡迎大家一起來學習在Hadoop創建Hbase表的方法。
在Hadoop創建Hbase表
之前項目組曾經嘗試過Hadoop來進行DFS存儲,但是因為當時Hadoop版本不穩定,或者是我們使用的不深入,感覺Hadoop不是太穩定,有些文件掃描時會出錯,因此就放棄了Hadoop的方案。最近在尋找大容量樣本數據庫的方案,又想起Hadoop來了,而且最近新出的HBase構建在Hadoop之上,實現了一個類似Bigtable的存儲結構,恰好能滿足要求。拿來嘗試下。
安裝很簡單,下載HBase的文件,解壓,修改下conf/hbase-site.xml,測試時簡單的用本機:
hbase.rootdir
file:///tmp/hbase-${user.home}/hbase
修改conf/hbase-env.sh,把JAVA_HOME路徑寫進去。ok了
執行hbase/bin/start-hbase.sh啟動一個hbase服務器。
運行hbase/bin/hbaseshell進入HQL的shell。
進入HQLshell有種熟悉的感覺,如同mysql或者sqlite的shell,試著創建了一個表:
createtableuser(name,age);~運行ok,很簡單。
在Hadoop創建Hbase表時插入條數據:
hql>insertintouser(name,age)values("AlbertLee",26);
Syntaxerror:Type'help;'forusage.
Message:Encountered";"atline1,column56.
hql>
oh,出錯了,看help,原來需要一個row的key,之前看過Google的Bigtable的論文,大概知道這個rowkey是定位一行數據的
hql>insertintouser(name,age)values("AlbertLee",26)whererow='al';
1rowinsertedsuccessfully.(0.12sec)
ok,查詢:
hql>select*fromuser;
+-------------------------+-------------------------+-------------------------+
|Row|Column|Cell|
+-------------------------+-------------------------+-------------------------+
|al|age:|26|
+-------------------------+-------------------------+-------------------------+
|al|name:|AlbertLee|
+-------------------------+-------------------------+-------------------------+
恩,看到Rowal這個行,有兩個Column,一個age,一個name。沒有發現Update語句而是直接用Insert,改下數據覆蓋掉就可以了,應該會記錄不同的版本的數據的,具體再試驗。本節關于在Hadoop創建Hbase表內容介紹到這里,謝謝關注。
【編輯推薦】