scan的setBatch()用法

        val conf = HBaseConfiguration.create()
val table: Table = ConnectionFactory.createConnection(conf).getTable(TableName.valueOf(Bytes.toBytes("user"))) val scan = new Scan()
scan.addColumn(Bytes.toBytes("info"),Bytes.toBytes("gender"))
scan.setBatch(2) val scanner: ResultScanner = table.getScanner(scan)
var res = scanner.next()
while (res!=null){
println(res.listCells().size())
res = scanner.next()
}

获取hbase连接
获取表的句柄
获取scanner
通过scanner的next的方法获取result,每个result的包含多少cell由Batch决定:
当batch小于列数,则每个result的cell数等于batch
当batch大于列数,则每个result的cell数等于列数
写成公式:
Result 包含的cell数 = Min(每行列数,Batch大小)
Result 的个数 =( row数 * 每行的列数 )/ Min(每行列数,Batch大小)

scan的setCaching()用法
对于一个拥有两个列族,10行,每行在每个列族下10列的 habse表(共计200列),hbase权威指南提供了一个表,如下图所示

由上表可知,batch 决定了返回多少个 result,而Caching(缓存的 result 数)决定了 rpc 的次数.

有些博客说Caching的值代表行数,这种说法是不完全正确的,而且这里的Caching不能无限制的大,因为hbase的每个rpc是有时间限制的,固定的时间如果值读取不完会出现连接异常。

https://blog.csdn.net/lidaxueh_heart/article/details/82763357

https://blog.csdn.net/weixin_37275456/article/details/89847965

最新文章

  1. Makefile笔记之一 ------ 变量的引用及赋值
  2. dvwa第一次接触
  3. (视频) 《快速创建网站》 2.3 WordPress初始化和功能简介
  4. The Accidental DBA
  5. Python中下划线的使用方法
  6. maven 仓库搜索添加需要的jar包
  7. FilenameFilter用法
  8. 关于Ruby的一些知识
  9. windows android studio 编译Jni动态库
  10. 使用 Fluent API 配置/映射属性和类型2
  11. Bootstrap入门Demo——制作路径导航栏
  12. 手把手教你如何优雅的使用Aop记录带参数的复杂Web接口日志
  13. 设计模式总结篇系列:抽象工厂模式(Abstract Factory)
  14. HTTP 客户端接收数据超时
  15. 异常小结:上一张图搞清楚Java的异常机制
  16. 【C++】C++中变量的声明与定义的区别
  17. 【转载】多模式串匹配之AC自动机
  18. 转:jquery的$(function(){})和$(document).ready(function(){}) 的区别
  19. python 序列化,反序列化
  20. 自编辑列的gridview,分页,删除,点击删除提示“确认”

热门文章

  1. JS 常用字符串,数组操作
  2. 8. Jmeter导入jar包
  3. HDU6655 Just Repeat(2019杭电多校J题)
  4. Java并发编程教程
  5. HashSet源码解析笔记
  6. 晒订单赢图灵图书,《第一行代码——Android》福利活动劲爆来袭!
  7. linux CentOS7 安装 Java
  8. LeetCode Array Easy 53. Maximum Subarray 个人解法 和分治思想的学习
  9. ICPC2008哈尔滨-E-Gauss Elimination
  10. 【LeetCode】拓扑排序