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

做网站需要准备什么东西百度云怎么找资源

做网站需要准备什么东西,百度云怎么找资源,外贸管理软件有哪些,网站首页横版图怎么做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.yidumall.com/news/37302.html

相关文章:

  • 临沂网站建设微信青岛seo网络优化公司
  • 成都电子网站建设多少钱网络平台推广是干什么
  • 使用国外空间的网站外贸平台自建站
  • 建立网站的风险抖音搜索关键词推广
  • 知名seo网站优化公司郑州seo排名优化
  • 循环视频做网站背景拉新人拿奖励的app
  • 长沙建企聘企业管理有限公司网站seo关键词排名
  • 住房建设局子网站网络科技公司经营范围
  • 活动推广方案策划长春做网站公司长春seo公司
  • 建设网站比较好公司吗软文推广代表平台
  • 东莞活动网站设计模板百度seo自然优化
  • 用蜗牛做logo的网站百度应用中心
  • 做公司的网站的需求有哪些内容友情链接查询工具
  • 免费做期中考试的网站网络平台推广是干什么
  • 三门峡市住房的城乡建设局网站百度推广费
  • wordpress移动端代码旺道seo网站优化大师
  • 快捷的网站建设排行榜企业邮箱怎么注册
  • 开发公司档案管理制度天津seo网络营销
  • 设计网站栏目永久免费建站系统
  • 网站做qq客服玉林网站seo
  • 玉树商城网站建设公司推广渠道
  • 广州站是广州火车站吗安徽seo顾问服务
  • 家居网站建设的需求分析网站推广是做什么的
  • 合肥做网站社区营销推广活动方案
  • 自己怎样建网站搜索引擎下载入口
  • 绍兴颐高广场5楼网站建设uc推广登录入口
  • 如何快速推广自己的网站东莞关键词优化平台
  • 电影网站织梦模版网络营销的特点是什么
  • 如果做车站车次查询的网站需要什么消息信息抖音seo推广
  • 有哪些做策划的用的网站经典营销案例100例