hbase 写入性能

 

hbase单表的平均写入QPS大概在5000-7000左右。

测试代码:

 

 

private static void doMigrate(HTable inTable, HTable outTable, Date beginTime, Date endTime) throws ParseException,
			IOException {
		Scan scan = new Scan();
		scan.setCacheBlocks(false);
		scan.setTimeRange(beginTime.getTime(), endTime.getTime());
		scan.setCaching(100);

		ResultScanner scanner = inTable.getScanner(scan);
		Iterator<Result> res = scanner.iterator();
		int count = 0;
		List<Put> puts = new ArrayList<Put>();

		long begin = System.currentTimeMillis();

		while (res.hasNext()) {
			try {
				count++;
				Result result = res.next();
				KeyValue[] allKvs = result.raw();
				byte[] rowkey = result.getRow();
				if (count % 200 == 0) {
					outTable.put(puts);
					puts.clear();
				}
				if (count % 10000 == 0) {
					long end = System.currentTimeMillis();
					System.out.println("put " + (count - 10000) + " to " + count + " cost:" + (end - begin));
					begin = System.currentTimeMillis();
				}
				Put put = new Put(rowkey);
				for (KeyValue kv : allKvs) {
					put.add(kv);
				}
				puts.add(put);
				System.out.println("put " + count + ",rowkey=" + Bytes.toString(rowkey));
			} catch (Exception e) {
				System.out.println("error!!!");
				System.out.println(e.getMessage());
				e.printStackTrace();
			}

		}

 参考:提升HBase写性能

 

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值