一、数据定义语言(DDL):Data Definition Language
1、创建表
create ‘s_behavior’,{NAME => ‘pc’} ,{NAME => ‘ph’}
2、查看所有表:
list
3、查看建表语句:
describe ‘s_behavior’
4、修改表:
1)下线:
disable ‘s_behavior’
2)修改:
alter ‘s_behavior’,{NAME => “cf”, REPLICATION_SCOPE => “1”, KEEP_DELETED_CELLS => ‘TRUE’}
3)上线:
enable ‘s_behavior’
二、数据操纵语言(DML):Data ManipulationLanguage
1、put < table >,< rowkey >,< 列族:列标识符 >,< 值 >
put ‘s_behavior’,‘aaa’,‘pc:v’,‘1001’
put ‘s_behavior’,‘aaa’,‘ph:o’,‘1001’
2、get: 根据行键获取HBase表的一条记录
get ‘s_behavior’,‘aaa’
3、获取一条数据某时刻的镜像
get ‘s_behavior’,‘aaa’, {TIMESTAMP => ‘1521423332271’}
4、获取多个版本的数据
get ‘s_behavior’,‘aaa’,’{COLUMN => ‘phone:price’ ,VERSIONS => 2}
5、Scan :最复杂的操作
1) 扫描全表
scan ‘s_behavior’
2) 获取时间区间内的数据
scan ‘s_behavior’ ,{TIMERANGE => [1521423332271,1521423339971]}
3) 获取两个版本数据
scan ‘s_behavior’ ,{VERSION => 2}
4)获取用户前5行数据
scan ‘s_behavior’, {FILTER => “PrefixFilter(‘user_’)”,COLUMNS => [‘mac’],LIMIT => 5}
5)获取用户某个时间区间内产生的数据
scan ‘s_behavior’,{STARTROW => ‘20190101’ ,STOPROW => ‘20190110’ , COLUMNS => [‘phone’]}
6)获取用户某个行为数据
scan ‘s_behavior’, FILTER => “VauleFilter(=,‘binary:1001’)”
scan ‘s_behavior’, FILTER => “VauleFilter(=,‘substring:1002’)”
7)获取更详细的行为数据
scan ‘s_behavior’,{FILTER => SingleColumnValueFilter.new(Bytes.toBytes(‘phone’), Bytes.toBytes(‘o’), CompareFilter::CompareOp.valueOf(‘EQUAL’), BinaryComparator.new(Bytes.toBytes(‘1001’))),COLUMNS => [‘phone:price’]}
8)获取用户行为行键
scan ‘s_behavior’, {FILTER => “PrefixFilter(‘aaa’) AND KeyOnlyFilter()”, LIMIT => 3}
6、删除数据 Delete DeleteAll truncate
1) 删除某列
delete ‘s_behavior’ ,‘aaa_1521423332271_1’, ‘phone:price’
2)删除整行
deleteall ‘s_behavior’,‘aaa_1521423332271_1’
3)删除整表
truncate ‘< table >’
truncate ‘s_behavior’
三、其他 shell
status ‘replication’
四、分区拆分
1、根据行键的中位数进行拆分。
split ‘s_behavior’,‘5’
五、分区主压缩(major compact)
major_compact
六、负载均衡开关
balance_switch true
balance_switch false
七、分区手动迁移
move ‘< EncodeRegionName >’,’< destSeverName >’
move ‘eidfjeij3ijk986763jdmiero’,‘slave3,16020,152839502233’