Hbase scan 查询例子数据 https://java-er.com/blog/hbase-scan-all-command/
stu 学生
列族 base 存储学生姓名,身高基本信息
列族 score 存储成绩
c1_s1 c1 班级 s1 学生编号
create 'stu','base','score' put 'stu','c1_s1','base:name','jack' put 'stu','c1_s2','base:name','jack2' put 'stu','c1_s3','base:name','jack3' put 'stu','c1_s4','base:name','jack4' put 'stu','c2_s1','base:name','tom1' put 'stu','c2_s2','base:name','tom2' put 'stu','c2_s2','base:weight','70kg' put 'stu','c2_s3','base:name','tom3' put 'stu','c2_s3','base:weight','85kg' put 'stu','c2_s3','base:height','1.70m'
小菜:如何将查询的结果,输入文件
echo “scan ‘stu’,{LIMIT=>1}” | ./hbase shell > a.txt
1. Hbase scan扫描全表,指定返回特定的列
hbase(main):028:0> scan 'stu',{COLUMNS => ['base:weight','base:height']} ROW COLUMN+CELL c2_s2 column=base:weight, timestamp=1588154167692, value=70kg c2_s3 column=base:height, timestamp=1588154125060, value=1.70m c2_s3 column=base:weight, timestamp=1588154124202, value=85kg 2 row(s) Took 0.0113 seconds
2. Hbase TIMERANGE 扫描指定时间内数据,前闭后开
注意:包含等于前面时间的数据,不含等于后面时间的数据
hbase(main):028:0> scan 'stu',{TIMERANGE=>[1588153968060,1588153968207]} ROW COLUMN+CELL c1_s1 column=base:name, timestamp=1588153968060, value=jack c1_s2 column=base:name, timestamp=1588153968114, value=jack2 2 row(s) Took 0.0108 seconds
3. Hbase 利用STARTROW STOPROW 扫描rowkey的范围
注意:包含等于前面key的数据,不含等于后面key的数据
hbase(main):028:0> scan 'stu',{STARTROW=>'c1_s1',STOPROW=>'c1_s3'} ROW COLUMN+CELL c1_s1 column=base:name, timestamp=1588153968060, value=jack c1_s2 column=base:name, timestamp=1588153968114, value=jack2 2 row(s) Took 0.0092 seconds
4. HBase 翻转结果和时间组合排序 REVERSED
全表扫描翻转结果
scan 'stu', {REVERSED => TRUE}
和时间组合翻转
hbase(main):009:0> scan 'stu',{TIMERANGE=>[1588153968060,1588153968207],REVERSED => TRUE} ROW COLUMN+CELL c1_s2 column=base:name, timestamp=1588153968114, value=jack2 c1_s1 column=base:name, timestamp=1588153968060, value=jack
5. Hbase 返回指标 ALL_METRICS or METRICS
hbase(main):011:0> scan 'stu',{ALL_METRICS => true}ROW