Hbase批量插入优化记录

2016年5月11日10:08:29

hbase原本的put方式是一条一条的put,在客户端修改

AutoFlush
将HTable的setAutoFlush设为false,可以支持客户端批量更新。即当Put填满客户端flush缓存时,才发送到服务端。
默认是true。

例如:
HTable hTable = new HTable(conf, tableName);
hTable.setAutoFlush(false);

这样的效率会比AUTOFLUSH 设置为true提升300倍不止
时间: 2024-11-06 22:07:47

Hbase批量插入优化记录的相关文章

HBase批量插入的简单代码

由于项目需要从HBase里读取数据,进行MapReduce之后输出到HDFS中. 为了测试方便,我这里写了一个批量插入HBase数据的测试代码.采用的Maven工程. 打算,今后的所有用到的小测试例子都放到这个工程里面了. 代码放到GitHub上面了:https://github.com/quchunhui/qchtest hbase建表命令:create 'qchtest', {NAME => 'info', VERSIONS => 1} 手动插入字段命令:put 'qchtest', 'r

Qt SQLite 批量插入优化(SQLite默认将每条语句看成单独的事务)good

使用SQLite存储数据时发现插入速度太慢,程序跑了将近五分钟才插入了不到三千条.上网查资料才发现,SQLite这种文件数据库与MySql机制不一样,每条事务都有打开和关闭文件的步骤,SQLite默认将每条语句看成单独的事务.当我逐条插入数据时,就会出现大量的文件IO操作,效率自然不高.需要将多个插入操作放到一个事务中,就可以显著提升插入效率. QT中使用事务的方法如下: QSqlDatabase app_database;// 设置数据库参数// ...app_database.transac

hbase 批量插入api

1.数据格式a.txt: 1363157985066 13726230503 00-FD-07-A4-72-B8:CMCC 120.196.100.82 i02.c.aliimg.com 24 27 2481 24681 200 1363157995052 13826544101 5C-0E-8B-C7-F1-E0:CMCC 120.197.40.4 4 0 264 0 200 1363157991076 13926435656 20-10-7A-28-CC-0A:CMCC 120.196.10

SQLite批量插入优化方法

SQLite的数据库本质上来讲就是一个磁盘上的文件,所以一切的数据库操作其实都会转化为对文件的操作,而频繁的文件操作将会是一个很好时的过程,会极大地影响数据库存取的速度. 例如:向数据库中插入100万条数据,在默认的情况下如果仅仅是执行  sqlite3_exec(db, “insert into name values ‘lxkxf', ‘24'; ”, 0, 0, &zErrMsg);  将会重复的打开关闭数据库文件100万次,所以速度当然会很慢.因此对于这种情况我们应该使用“事务”.  具

Hibernate批处理操作优化 (批量插入、更新与删除)

问题描述 我开发的网站加了个新功能:需要在线上处理表数据的批量合并和更新,昨天下午发布上线,执行该功能后,服务器的load突然增高,变化曲线异常,SA教育了我一番,让我尽快处理,将CPU负载降低. 工作所需,我经常要写些程序批量处理数据,每次执行几十万数据处理的时候,我机子的CPU都会飙高,而且数据处理速度会越来越慢.比如第一个1W条要5分钟,第二个1W条就要10分钟,要干其他事情的时候机子也卡的不行,只能等着处理完数据. 其实我一直认为是数据量太大,从来不认为是程序问题,所以一直没怎么关注过.

MyBatis中批量插入数据对插入记录数的限制

<基于Mybatis框架的批量数据插入的性能问题的探讨>(作者:魏静敏 刘欢杰 来源:<计算机光盘软件与应用> 2013 年第 19 期)中提到批量插入的记录数不能超过1000条,实测可以插入超过1000条. 原文地址:https://www.cnblogs.com/huangzejun/p/8143043.html

数据批量插入MSSQL

MSSQL数据批量插入优化详细 序言 现在有一个需求是将10w条数据插入到MSSQL数据库中,表结构如下,你会怎么做,你感觉插入10W条数据插入到MSSQL如下的表中需要多久呢? 或者你的批量数据是如何插入的呢?我今天就此问题做个探讨. 压测mvc的http接口看下数据 首先说下这里只是做个参照,来理解插入数据库的性能状况,与开篇的需求无半毛钱关系. mvc接口代码如下: public bool Add(CustomerFeedbackEntity m) { using (var conn=Co

MyBatis批量插入数据

在程序中封装了一个List集合对象,然后需要把该集合中的实体插入到数据库中,由于项目使用了Spring+MyBatis的配置,所以打算使用MyBatis批量插入,由于之前没用过批量插入,在网上找了一些资料后最终实现了,把详细过程贴出来. 实体类TrainRecord结构如下: public class TrainRecord implements Serializable { private static final long serialVersionUID = -12069604621179

160421、MyBatis批量插入数据

在程序中封装了一个List集合对象,然后需要把该集合中的实体插入到数据库中,由于项目使用了Spring+MyBatis的配置,所以打算使用MyBatis批量插入,由于之前没用过批量插入,在网上找了一些资料后最终实现了,把详细过程贴出来. 实体类TrainRecord结构如下: Java代码   public class TrainRecord implements Serializable { private static final long serialVersionUID = -12069