当前位置: 首页 > news >正文

用asp做网站课程狮岭箱包外发加工网

用asp做网站课程,狮岭箱包外发加工网,中国建设人才网官网登录入口2022,seo流量软件HBase数据刷写 之前提到过这个方法,那么BufferedMutator是什么?又应该如何实现呢? 写缓存 HBase的每一个put操作实际上是一个RPC操作,将客户端的数据传输到服务器再返回结果,这只适用于小数据量的操作,如…

HBase数据刷写 之前提到过这个方法,那么BufferedMutator是什么?又应该如何实现呢?

写缓存

HBase的每一个put操作实际上是一个RPC操作,将客户端的数据传输到服务器再返回结果,这只适用于小数据量的操作,如果数据量多的话,每次put都需要建立一次RPC的连接(TCP连接),而建立连接传输数据是需要时间的,因此减少RPC的调用可以提高数据传输的效率,减少建立连接的时间和IO消耗。

HBase的客户端API提供了写缓存区,put的数据一开始放在缓存区内,当数量到达指定的容量或者用户强制提交是才将数据一次性提交到HBase的服务器。这个缓冲区可以通过调用 HTable.setAutoFlush(false) 来开启。而新版HBbase的API中使用了BufferedMutator替换了老版的缓冲区,通过BufferedMutator对象提交的数据自动存放在缓冲区中。

BufferedMutator

通过获取 BufferedMutator 对象,并调用 mutator.mutate(List<Mutation> mutations) 方法来进行批量插入数据。可以使用 Put 类型的对象列表作为 mutations 参数进行插入。BufferedMutator 提供了自动管理缓冲区和写入操作的功能,可以提高插入数据的性能。

单次一张表批量写入

        Configuration conf = HBaseConfiguration.create();conf.set("hbase.zookeeper.quorum", "zookeeperHost");final BufferedMutator.ExceptionListener listener = new BufferedMutator.ExceptionListener() {@Overridepublic void onException(RetriesExhaustedWithDetailsException e, BufferedMutator mutator) {for (int i = 0; i < e.getNumExceptions(); i++) {LOG.info("Failed to sent put " + e.getRow(i) + ".");}}};BufferedMutatorParams params = new BufferedMutatorParams(TABLE).listener(listener);params.writeBufferSize(123123L);try {Connection conn = ConnectionFactory.createConnection(conf);BufferedMutator mutator = conn.getBufferedMutator(params);Put p = new Put(Bytes.toBytes("someRow"));p.addColumn(FAMILY, Bytes.toBytes("someQualifier"), Bytes.toBytes("some value"));mutator.mutate(p);mutator.close();conn.close();} catch (IOException e1) {// TODO Auto-generated catch blocke1.printStackTrace();}

单次多张表批量写入

private static Map<String, BufferedMutator> tableConnectionMgr = new ConcurrentHashMap<>();
private BufferedMutator getTableConnection(String tableName) throws IOException {if (tableConnectionMgr.get(tableName) != null) {return tableConnectionMgr.get(tableName);}Connection connection = ConnectionFactory.createConnection(config);BufferedMutator table = connection.getBufferedMutator(TableName.valueOf(tableName));tableConnectionMgr.put(tableName, table);log.info("hbase table: {} connect established!", tableName);return tableConnectionMgr.get(tableName);
}

http://www.yayakq.cn/news/480370/

相关文章:

  • 如何建立自己的公众号苏州网站关键词优化
  • 沈阳的网站制作公司wordpress的api接口
  • 如何修改网站备案信息网站设计自已申请
  • 个人网站也要备案吗网页建站建设教程
  • 上海中学门户网站登陆昆明建设招聘信息网站
  • 学做软件的网站软件开发工作稳定吗
  • iis7建网站网站后台管理系统怎么用
  • 做网站需要的课程网络优化的基本流程
  • 东莞在哪里学网站建设移动深圳网站
  • 昌吉网站建设公司七星彩网站建设
  • 江宁网站制作手机开发者网站
  • 做网站服务器收费吗wordpress中的网易云
  • 打码网站建设好看手机网站推荐
  • 网站可以随便创建么以下哪些是网页制作工具
  • 门户网站导航建设方案网络服务器的配置与应用心得
  • 西安做网站公司玖佰网络渭南建设用地规划查询网站
  • 网站建设为了什么爱心互助网站开发
  • 网站备案能不能出现世界上海网页设计报价
  • 网站实名认证怎么做响应式网站软件
  • 网站平台搭建和维护需要什么电子商务网站需求分析
  • 网站制作是什么公司北京网站维护
  • 音乐建设网站四川建设网是什么单位
  • 网站做任务 炸金花工商网站注册公司
  • 申请自助建站万户网络合肥
  • 网站开发怎么兼容浏览器指数型基金是什么意思
  • 外贸公司网站建设费会计科目淘宝运营培训内容
  • 网站用户互动跨境电商diy定制平台
  • 搜狐快站建站教程大理做网站哪家好
  • 建网站和建小程序多少钱网站制作推广公司
  • 给网站网站做代理企业网站加视频