批量扫描数据(scan)
扫描所有数据(扫描所有行):
scan 'table name'
例子(限制hbase的查询返回数量):
scan 'algo_data',{LIMIT=>5}
可以实现类似 select * from table limit n; 的效果
扫描一列数据:
scan 'table name',{COLUMNS=>'cf:column'}
例子:
scan 'scores',{COLUMNS=>'course:art'}
扫描两个rowkey之间的数据(左包含,右不包含):
scan 'table name',{STARTROW=>'start_row_key',STOPROW=>'stop_row_key'}
例子:
scan 'scores',{STARTROW=>'zhangsan01',STOPROW=>'zhangsan02'}
(以上查询中 rowkey 为 ‘zhangsan02’ 的数据查不到)
扫描两个rowkey之间的指定列:
scan 'table name',{COLUMNS=>'cf:column',STARTROW=>'start_row_key',STOPROW=>'stop_row_key'}
例子:
scan 'tt_deal',{STARTROW=>'app_67',STOPROW=>'app_69',COLUMNS=>'info:master_name'}
以上查询,在 {} 中只指定STOPROIW条件,查询的是 开始->stop_row 的数据(不包含stop_row),只指定STARTROW条件,查询的是 start_row->最后 的数据(包含start_row)。COLUMNS可以任意添加。
精确查询(get)
读取指定一行数据(根据行键读数据):
get ’table name’,’row1’
例子:
·get 'emp', '1'
精确的读取指定一列数据:
get 'table name', ‘rowid’, {COLUMN => ‘column family:column name ’}
例子:
get 'emp', 'row1', {COLUMN=>'personal:name'}
更多HBase学习笔记:https://blog.csdn.net/kehan_c/article/details/94599289