CellUtil是个管理Cell的工具类.主要是一些静态方法.

  • cloneRow可用于获取rowkey.
  • 返回值为byte数组,所以打印时需要转为String.
 public static byte[] cloneRow(Cell cell){byte[] output = new byte[cell.getRowLength()];copyRowTo(cell, output, 0);return output;}

调用了 copyRowTo方法,cell.getRowArray()就是获取的某个rowkey那整行的最原始的byte信息了.

 public static int copyRowTo(Cell cell, byte[] destination, int destinationOffset) {System.arraycopy(cell.getRowArray(), cell.getRowOffset(), destination, destinationOffset,cell.getRowLength());return destinationOffset + cell.getRowLength();}

比如

 System.out.println(new String(cell.getRowArray()));

结果如下.需要从中提取rowkey的信息.

那么getrowarray又是如何定义的呢?继续追根溯源

 /*** @return the backing array of the entire KeyValue (all KeyValue fields are in a single array)*/@Overridepublic byte[] getRowArray() {return bytes;}

bytes是一个KeyValue类的属性

 // KeyValue core instance fields.protected byte [] bytes = null;  // an immutable byte array that contains the KVprotected int offset = 0;  // offset into bytes buffer KV starts atprotected int length = 0;  // length of the KV starting from offset.

Hbase Cellutil源码相关推荐

  1. Hbase Compaction 源码分析 - CompactSplitThread 线程池选择

    目录 CompactSplitThread requestCompactionInternal方法 selectCompaction方法 requestCompaction方法 其他相关文章 Hbas ...

  2. Hbase Compaction 源码分析 - RatioBasedCompactionPolicy 策略

    目录 类的关系图 ​ RatioBasedCompactionPolicy selectCompaction 方法 getCurrentEligibleFiles方法 skipLargeFiles方法 ...

  3. Hbase Compaction 源码分析 - CompactionChecker

    其他相关文章 Hbase Compaction 源码分析 - CompactionChecker Hbase Compaction 源码分析 - RatioBasedCompactionPolicy ...

  4. hbase RPCServer源码分析

    前置知识: java,nio,多线程 看了几天的源码,写一些自己心得,若有错误请指出. RPCServer的作用:负责创建listener,reader,responser,handler来处理cli ...

  5. HBase Replication源码解析之HLog读取

    2019独角兽企业重金招聘Python工程师标准>>> 在HRegionServer中两个量和replication相关,如下所示: [java] view plain copy / ...

  6. hadoop源码_HBASE源码导入IDEA并开启DEBUG调试

    前言:为了更深入的理解HBase的源码,对源码进行跟踪调试是一个很好的方法.本文详细记录了把社区版的HBase1.2.0源码导入idea中,进行编译调试的过程,以及在整个操作流程中遇到的一些坑. 一. ...

  7. HBase源码分析之HRegion上compact流程分析(三)

    在<HBase源码分析之HRegion上compact流程分析(二)>一文中,我们没有讲解真正执行合并的CompactionContext的compact()方法.现在我们来分析下它的具体 ...

  8. hbase源码系列(十二)Get、Scan在服务端是如何处理?

    继上一篇讲了Put和Delete之后,这一篇我们讲Get和Scan, 因为我发现这两个操作几乎是一样的过程,就像之前的Put和Delete一样,上一篇我本来只打算写Put的,结果发现Delete也可以 ...

  9. 《MapReduce 2.0源码分析与编程实战》一第1章 HBase介绍

    本节书摘来异步社区<MapReduce 2.0源码分析与编程实战>一书中的第1章,作者: 王晓华 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看. ...

最新文章

  1. 激光雷达Lidar Architecture and Lidar Design(下)
  2. 剑指offer:面试题09. 用两个栈实现队列
  3. 机器学习(四)——损失函数
  4. PMCAFF微课堂|诸葛理财联合创始人:互联网金融产品的那些坑
  5. 分布式离线计算—MapReduce—基本原理
  6. 在SAP云平台ABAP编程环境里使用CAP模型创建Fiori应用
  7. unix linux 命令参考,Unix/Linux 命令参考
  8. 遍历children_589. N叉树的前序遍历
  9. 开启灯光就是近光吗_科目三考前必看!夜间灯光语音模拟+超全项目操作
  10. 20050405:什么都要会啊
  11. python设置字符_Python基础教程 将字符串格式设置功能用于字典
  12. 微分方程matlab绘图,用matlab解微分方程组并作图
  13. 智慧城市将成为推进我国新型城镇化的新思路、新手段、新模式
  14. C中 stdarg.h
  15. Oracle EBS R12关于“PO 通信输出”相关问题处理
  16. pytorch的cuda环境搭建(GPU版本安装)
  17. Python修改文件名
  18. 网站流量可视化分析--页面指标分析、访问量分析
  19. 关于Native Library在NetbeansRCP应用中的设置
  20. android勒索软件,安卓勒索软件最新伎俩

热门文章

  1. ubuntu18.04安装mysql8.0中遇到的问题及解决方法
  2. rstudio server docker 部署_Docker环境运行Spring Cloud项目
  3. android只有域名打包封装成apk,一个Android Studio工程根据网址打包出不同的apk
  4. java expression 强制出现_Java中带有强制括号对的单行循环
  5. 命令 结构_关于Oracle常用查看表结构命令总结分享
  6. 基于virtualbox的centos7安装jdk1.8
  7. 安装erlang没有bin文件夹_Windows10有关jdk13.0.1的详细安装过程
  8. oracle怎么定位效率,oracle查询效率,该怎么解决
  9. php 父进程id,PHP pcntl_fork创建进程,复制父进程内存空间上下文
  10. python列表方法图解_python中list(列表)的使用方法总结(图文)