本帖最后由 北冥有鱼 于 2016-8-1 23:28 编辑
我用java api操作hbase,测试的时候,3台机器,一台master,二台regionServer,自己搭的的zookeeper,建个表都是3秒多,,,,为什么这么慢呢.... 在很少的数据里面通过rowkey查询数据,也要好几秒..我用的1.2.1版本,论坛上的关于hbase优化的帖子我也看了,但是感觉我这问题不是优化的问题...不至于建个表都要好几秒啊...谁能帮帮我.......实在想不通啊 我看网上说从上千万数据中通过rowkey查询都是毫秒级 我好纠结 机器内存也都够的
@Test
public void createTableTest(){
long start = System.currentTimeMillis();
Configuration conf = HBaseConfiguration.create();
Admin admin = null;
Connection connection = null;
try {
connection = ConnectionFactory.createConnection(conf);
admin = connection.getAdmin();
TableName name = TableName.valueOf("test");
HTableDescriptor tableDesc = new HTableDescriptor(name);
HColumnDescriptor family = new HColumnDescriptor("base_info");
family.setCompressionType(Compression.Algorithm.SNAPPY);
family.setMaxVersions(1);
family.setBloomFilterType(BloomType.ROW);
tableDesc.addFamily(family);
admin.createTable(tableDesc);
} catch (IOException e) {
e.printStackTrace();
}finally{
try {
if(null != admin) admin.close();
if(null != connection) connection.close();
} catch (IOException e) {
e.printStackTrace();
}
}
long end = System.currentTimeMillis();
long cost = end -start;
System.out.println("cost: " + cost);
}
直接在hbase shell 中 scan一条数据,速度还行 : 1 row(s) in 0.0360 seconds
但是java api操作,通过rowkey scan同样的数据,都要2秒多3秒, 这是为什么 ...
|
|