2018年8月1日,老男孩教育騎士計(jì)劃正式推出,僅在深圳校區(qū)發(fā)布,致力于為各互聯(lián)網(wǎng)名企專向定制人才,只講干貨、不玩虛的,大量企業(yè)真實(shí)項(xiàng)目實(shí)戰(zhàn),十萬行代碼畢業(yè)標(biāo)準(zhǔn),挖出一條進(jìn)入BAT的新通道。
HBase的命令行工具,最簡單的接口,適合HBase管理使用,可以使用shell命令來查詢HBase中數(shù)據(jù)的詳細(xì)情況。安裝完HBase之后,啟動hadoop集群(利用hdfs存儲),啟動zookeeper,使用start-hbase.sh命令開啟hbase服務(wù),*在shell中執(zhí)行hbase shell就可以進(jìn)入命令行界面
Habse shell的help對語法的介紹很全,hbase shell 的操作分為 10類,j本文只介紹前4類常用的,分別是:gerneral,ddl,namespace,dml
1. Gerneral
status:查詢當(dāng)前服務(wù)器狀態(tài)。
Version:查看當(dāng)前版本
Whoami:查詢當(dāng)前hbase用戶
Table_help:表的引用,通過獲取一張表的引用來對這張表進(jìn)行添加刪除數(shù)據(jù)等等操作,現(xiàn)在不推薦使用。
2. DDL
Create:創(chuàng)建一個表
###創(chuàng)建一個表名為oldboy,cf為列族
create 'oldboy','cf'
list:列出HBase的所有表
disable:禁用一張表
##禁用表‘oldboy’
disable ‘oldboy’
is_disabled:表是否被禁用
##驗(yàn)證表‘oldboy’是否被禁用
is_disabled ‘oldboy’
enable: 啟用一張表
##啟用表‘oldboy’
enable ‘oldboy’
is_enabled:表是否被啟用
##驗(yàn)證表‘oldboy’是否被啟用
is_enabled ‘oldboy’
describe:查看表的描述
##查看‘oldboy’表的描述信息
describe ‘oldboy’
alter:修改表的結(jié)構(gòu)
##給表‘oldboy’加入一個列族‘cf1’
alter ‘oldboy’,’cf1’
exists:驗(yàn)證表是否存在
##驗(yàn)證表‘oldboy’是否存在
exists ‘oldboy’
drop:刪除表,表需先禁用,然后才能刪除
##刪除表‘oldboy’
disable ‘oldboy’
drop ‘oldboy’
disable_all:禁用多個表
drop_all:刪除多個表,表需先禁用,然后才能刪除
3. Namespace
create_namespace:創(chuàng)建命名空間,相當(dāng)于關(guān)系型數(shù)據(jù)庫里創(chuàng)建一個數(shù)據(jù)庫
##創(chuàng)建一個命名空間名為‘oldboy’,并添加屬性
create_namespace ‘oldboy’, {'PROPERTY_NAME'=>'PROPERTY_VALUE'}
alter_namespace:修改,添加,刪除命名空間的屬性
##設(shè)置命名空間oldboy的屬性
alter_namespace 'oldboy', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}
##刪除命名空間oldboy的屬性
alter_namespace 'oldboy', {METHOD => 'unset', NAME=>'PROPERTY_NAME'}
describe_namespace:獲取命名空間的描述
##獲取命名空間‘oldboy’的描述信息
describe_namespace ‘oldboy’
drop_namespace:刪除命名空間
##刪除命名空間‘oldboy’
drop_namespace ‘oldboy’
list_namespace:查看所有命名空間
list_namespace_tables:查看命名空間下的所有表
##查看命名空間‘ns1’下的所有表
list_namespace_tables ‘ns1’
4. DML
先在命名空間‘oldboy’(如果沒有這個命名空間要先創(chuàng)建此命名空間)下創(chuàng)建一張表test,列族為‘sl’作為測試用
create ‘oldboy:test’,’sl’
put:添加cell(數(shù)據(jù))
# #向命名空間oldboy下表test的rowkey為r1的列族下添加數(shù)據(jù)
put '','r1','sl:uname','zhangsan'
scan:掃描全表
scan ‘’
get:得到某一列或cell的數(shù)據(jù)。
##向命名空間oldboy下表test的rowkey為r1的列族下添加數(shù)據(jù)
put '','r1','sl:age','25'
##獲取列族sl下rowkey為r1的所有數(shù)據(jù)
get ‘’,’r1’
##獲取列族sl下rowkey為r1,列名為uname的數(shù)據(jù)(獲取一個cell)
get '','r1','sl:uname'
truncate:清空表,不用disable (只是清空數(shù)據(jù))
##清空表‘’
truncate ‘’
查看‘oldboy’下所有的表
以上為hbase shell腳本的基礎(chǔ)操作,學(xué)習(xí)大數(shù)據(jù)過程中需掌握的知識點(diǎn),在掌握hbase shell腳本的基礎(chǔ)上學(xué)習(xí)hbase 的java api,會更加的容易!
老男孩教育在大數(shù)據(jù)開發(fā)培訓(xùn)方面占據(jù)絕對式的優(yōu)勢,徐培成老師是大數(shù)據(jù)方面的資深工程師,為學(xué)員親自傳授大數(shù)據(jù)知識與技能,老男孩教育大數(shù)據(jù)培訓(xùn)課程,內(nèi)容含金量非常高,非常全面的講解了大數(shù)據(jù)相關(guān)知識,其內(nèi)容主要包括:Java、Linux、Hadoop、Hive、Avro與Protobuf、ZooKeeper、HBase、Phoenix、Redis、Flume、SSM、Kafka、Scala、Spark、azkaban、Python與大數(shù)據(jù)分析等,只要用心學(xué)完老男孩大數(shù)據(jù)課程,即可輕松應(yīng)對企業(yè)大數(shù)據(jù)相關(guān)問題!