hbase shell (2)
在hbase中, 有些時候我們須查詢某一欄位的數值是否更新,
在這個情況下, 應該如何利用hbase shell的方式查詢呢?
如果我們確知row-key的名稱, 我們可以利用get的方式執行:
在這個情況下, 應該如何利用hbase shell的方式查詢呢?
如果我們確知row-key的名稱, 我們可以利用get的方式執行:
hbase(main):005:0> get 'UserTable', 'B8:8D:12:1A:59:76'
[...]
10 row(s) in 0.4240 seconds
甚至指定欄位, 例如:
hbase(main):008:0> get 'UserTable', 'B8:8D:12:1A:59:76', {COLUMN=>['x', 'y']}
COLUMN CELL
x: timestamp=1434519293316, value=12.847539358614743
y: timestamp=1434519293316, value=28.36858703324554
2 row(s) in 0.0100 seconds
然而, 若是row-key為自動產生 (由寫入程式決定),
或是, 不知道row-key的資訊 (例如: 使用者的MAC位址), 應該如何查詢呢?
比如說, 我想查詢UserTable下所有使用者的位置,
我們可以用以下指令進行:
hbase(main):010:0> scan 'UserTable', {COLUMN=>['x', 'y']}
ROW COLUMN+CELL
00:08:CA:CE:76:57 column=x:, timestamp=1434520113031, value=11.78151150906617
4
00:08:CA:CE:76:57 column=y:, timestamp=1434520113031, value=28.00934724972817
00:1F:3B:7F:67:6F column=x:, timestamp=1434520112978, value=10.53167830917483
6
00:1F:3B:7F:67:6F column=y:, timestamp=1434520112978, value=28.06432776675917
8
1C:87:2C:9A:9D:DF column=x:, timestamp=1434520112921, value=9.586855841089205
1C:87:2C:9A:9D:DF column=y:, timestamp=1434520112921, value=26.72912365889001
8
34:23:BA:D0:51:B0 column=x:, timestamp=1434520103913, value=-3.20190502157049
4
34:23:BA:D0:51:B0 column=y:, timestamp=1434520103913, value=-3.65217097379893
03
3C:E0:72:B6:29:B9 column=x:, timestamp=1434516849406, value=-0.55738529450722
09
3C:E0:72:B6:29:B9 column=y:, timestamp=1434516849406, value=-0.34557026187865
314
44:D4:E0:89:7C:B7 column=x:, timestamp=1434520226495, value=36.9641301909726
44:D4:E0:89:7C:B7 column=y:, timestamp=1434520226495, value=25.10948579266705
54:A0:50:01:DA:94 column=x:, timestamp=1434520238803, value=1.190297772010054
7
54:A0:50:01:DA:94 column=y:, timestamp=1434520238803, value=6.247115441286943
60:F8:1D:9F:3F:5A column=x:, timestamp=1434520103916, value=3.067398502730814
60:F8:1D:9F:3F:5A column=y:, timestamp=1434520103916, value=1.407806713033101
B8:8D:12:1A:59:76 column=x:, timestamp=1434520112951, value=9.794736465620819
B8:8D:12:1A:59:76 column=y:, timestamp=1434520112951, value=25.86060679139192
3
9 row(s) in 0.0750 seconds
scan的filter除了對欄位進行外, 還有其他多種用法,
包括對於timestamp, 或是, prefix進行,
若是有需要的話, 可以用help查詢.
留言
張貼留言