我使用phoenix驱动4.0版来查询数据库。我也尝试将hbase.client.scanner.caching设置为1000和10000 在所有情况下,迭代超过10000行需要3分钟。我没有在迭代循环中放置任何代码。我必须扫描超过1L的记录,所以它需要超过半小时。
这可能是什么原因。
long count = 0;
while (rs.next())
{
if (count % 1000 == 0)
{
log.info("Count == " + count);
}
count++;
}
答案 0 :(得分:0)
我认为hadoop及其组件擅长类似组的功能,并且使用rowkey快速查找记录的哈希分配记录。但是不擅长迭代,你运行10000记录可能成本相同于100000甚至1000000.I希望你能通过我可怜的英语得到我说的意思。:)