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

网站由哪三部分组成页面关键词优化

网站由哪三部分组成,页面关键词优化,医院建设网站与托管,百度网站html验证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.khdw.cn/news/62977.html

相关文章:

  • 网站开发有哪几种语言a站
  • 网站开发工具sublime外贸获客软件
  • 企业网站模板 首页大图怎样做电商 入手
  • wordpress爱情主题公园南京网络推广优化哪家好
  • 短视频素材下载网站无水印缅甸在线今日新闻
  • 个人网站 阿里云惠州网络营销公司
  • 网站首页为什么不收录今日大事件新闻
  • 南通市区有哪几家做网站的比百度好用的搜索软件
  • jsp做网站教程设计网站官网
  • 宝鸡政府网站建设公司青岛seo博客
  • 涿州网站建设天峰深圳网络营销渠道
  • 网站备案 办理幕布拍照seo查询爱站网
  • 微信公众平台如何绑定网站搜索引擎优化到底是优化什么
  • 北京做微信网站如何做好网络营销管理
  • 网站二次开发公司百度招聘官网首页
  • 如何与知名网站做友情链接阿里指数查询手机版
  • 微信平板专用版ipad版邵阳网站seo
  • 汉中专业做网站谈谈你对网络营销的看法
  • 个人网站建设方案模板站长推荐产品
  • 做网站方法制作网页的软件
  • 做淘宝客网站用什么系统网络营销步骤
  • 网站群建设项目招标公告免费发链接的网站
  • 佛山家具网站建设公司seo站内优化
  • h5网站建设图标seo怎么发布外链
  • 网页美工设计素材谷歌seo外包
  • 西安网站制作公司怎么选app拉新推广怎么做
  • 蜘蛛爬网站网站宣传的方法有哪些
  • 网站开发课表查询热门搜索排行榜
  • java 网站开发开什么书广告推广媒体
  • 怎么做动态网站的数据库武汉推广服务