HBase获取数据性能对比

hbase
对HBase中的数据读取,有多种方式,如Get,List
数据准备
首先,准备数据写入HBase,总数10万记录,格式如下:
1-aabbcc
10-aabbcc
100-aabbcc
…
2-aabbcc
20-aabbcc
200-aabbcc
…
获取方式
取k条连续数据(如k=1000,取2000aabbcc到3000aabbcc),采用3种方式进行获取:
Get循环
List
Scan(startRow,stopRow)
Scan(startRow,stopRow)加上RowFilter(RegexStringComparator)
获取数量 | 1 | 2 | 3 | 4 |
---|---|---|---|---|
k=1000 | 3415 | 1480 | 596 | 93 |
k=2000 | 6395 | 1062 | 1156 | 156 |
k=3000 | 8465 | 2400 | 1557 | 245 |
k=4000 | 11669 | 1582 | 2082 | 276 |
k=5000 | 14503 | 2140 | 2756 | 422 |
k=6000 | 17585 | 2221 | 2794 | 380 |
k=7000 | 21285 | 4578 | 3474 | 542 |
start loop query table ……
k=1000 Start:2000 End:3000
end query data:3675ms
Sum value:2502500
================================================
start batch query table ……
end query data:612ms
Sum value:2502500
Result lines:1001
================================================
start scan query table ……
end scan data:111ms
Sum value:2502500
Result lines:1001
================================================
===================================================================
k=2000 Start:2000 End:4000
end query data:6819ms
Sum value:6003000
================================================
start batch query table ……
end query data:941ms
Sum value:6003000
Result lines:2001
================================================
start scan query table ……
end scan data:153ms
Sum value:6003000
Result lines:2001
================================================
===================================================================
k=3000 Start:2000 End:5000
end query data:10832ms
Sum value:10503500
================================================
start batch query table ……
end query data:1358ms
Sum value:10503500
Result lines:3001
================================================
start scan query table ……
end scan data:278ms
Sum value:10503500
Result lines:3001
================================================
===================================================================
k=4000 Start:2000 End:6000
end query data:23075ms
Sum value:16004000
================================================
start batch query table ……
end query data:1639ms
Sum value:16004000
Result lines:4001
================================================
start scan query table ……
end scan data:440ms
Sum value:16004000
Result lines:4001
================================================
===================================================================
k=5000 Start:2000 End:7000
end query data:15879ms
Sum value:22504500
================================================
start batch query table ……
end query data:1840ms
Sum value:22504500
Result lines:5001
================================================
start scan query table ……
end scan data:334ms
Sum value:22504500
Result lines:5001
================================================
===================================================================
k=6000 Start:2000 End:8000
end query data:21886ms
Sum value:30005000
================================================
start batch query table ……
end query data:2813ms
Sum value:30005000
Result lines:6001
================================================
start scan query table ……
end scan data:479ms
Sum value:30005000
Result lines:6001
================================================
===================================================================
k=7000 Start:2000 End:9000
end query data:23398ms
Sum value:38505500
================================================
start batch query table ……
end query data:3200ms
Sum value:38505500
Result lines:7001
================================================
start scan query table ……
end scan data:632ms
Sum value:38505500
Result lines:7001
================================================
===================================================================
filter
加了filter
start scan query table ……
end scan data:1749ms
Sum value:10498500
Result lines:33333
未加filter,正确结果:
start scan query table ……
end scan data:2009ms
Sum value:10503500
Result lines:33344
HBase获取数据性能对比