Hbase Cellutil源码
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源码相关推荐
- Hbase Compaction 源码分析 - CompactSplitThread 线程池选择
目录 CompactSplitThread requestCompactionInternal方法 selectCompaction方法 requestCompaction方法 其他相关文章 Hbas ...
- Hbase Compaction 源码分析 - RatioBasedCompactionPolicy 策略
目录 类的关系图 RatioBasedCompactionPolicy selectCompaction 方法 getCurrentEligibleFiles方法 skipLargeFiles方法 ...
- Hbase Compaction 源码分析 - CompactionChecker
其他相关文章 Hbase Compaction 源码分析 - CompactionChecker Hbase Compaction 源码分析 - RatioBasedCompactionPolicy ...
- hbase RPCServer源码分析
前置知识: java,nio,多线程 看了几天的源码,写一些自己心得,若有错误请指出. RPCServer的作用:负责创建listener,reader,responser,handler来处理cli ...
- HBase Replication源码解析之HLog读取
2019独角兽企业重金招聘Python工程师标准>>> 在HRegionServer中两个量和replication相关,如下所示: [java] view plain copy / ...
- hadoop源码_HBASE源码导入IDEA并开启DEBUG调试
前言:为了更深入的理解HBase的源码,对源码进行跟踪调试是一个很好的方法.本文详细记录了把社区版的HBase1.2.0源码导入idea中,进行编译调试的过程,以及在整个操作流程中遇到的一些坑. 一. ...
- HBase源码分析之HRegion上compact流程分析(三)
在<HBase源码分析之HRegion上compact流程分析(二)>一文中,我们没有讲解真正执行合并的CompactionContext的compact()方法.现在我们来分析下它的具体 ...
- hbase源码系列(十二)Get、Scan在服务端是如何处理?
继上一篇讲了Put和Delete之后,这一篇我们讲Get和Scan, 因为我发现这两个操作几乎是一样的过程,就像之前的Put和Delete一样,上一篇我本来只打算写Put的,结果发现Delete也可以 ...
- 《MapReduce 2.0源码分析与编程实战》一第1章 HBase介绍
本节书摘来异步社区<MapReduce 2.0源码分析与编程实战>一书中的第1章,作者: 王晓华 责编: 陈冀康,更多章节内容可以访问云栖社区"异步社区"公众号查看. ...
最新文章
- 激光雷达Lidar Architecture and Lidar Design(下)
- 剑指offer:面试题09. 用两个栈实现队列
- 机器学习(四)——损失函数
- PMCAFF微课堂|诸葛理财联合创始人:互联网金融产品的那些坑
- 分布式离线计算—MapReduce—基本原理
- 在SAP云平台ABAP编程环境里使用CAP模型创建Fiori应用
- unix linux 命令参考,Unix/Linux 命令参考
- 遍历children_589. N叉树的前序遍历
- 开启灯光就是近光吗_科目三考前必看!夜间灯光语音模拟+超全项目操作
- 20050405:什么都要会啊
- python设置字符_Python基础教程 将字符串格式设置功能用于字典
- 微分方程matlab绘图,用matlab解微分方程组并作图
- 智慧城市将成为推进我国新型城镇化的新思路、新手段、新模式
- C中 stdarg.h
- Oracle EBS R12关于“PO 通信输出”相关问题处理
- pytorch的cuda环境搭建(GPU版本安装)
- Python修改文件名
- 网站流量可视化分析--页面指标分析、访问量分析
- 关于Native Library在NetbeansRCP应用中的设置
- android勒索软件,安卓勒索软件最新伎俩
热门文章
- ubuntu18.04安装mysql8.0中遇到的问题及解决方法
- rstudio server docker 部署_Docker环境运行Spring Cloud项目
- android只有域名打包封装成apk,一个Android Studio工程根据网址打包出不同的apk
- java expression 强制出现_Java中带有强制括号对的单行循环
- 命令 结构_关于Oracle常用查看表结构命令总结分享
- 基于virtualbox的centos7安装jdk1.8
- 安装erlang没有bin文件夹_Windows10有关jdk13.0.1的详细安装过程
- oracle怎么定位效率,oracle查询效率,该怎么解决
- php 父进程id,PHP pcntl_fork创建进程,复制父进程内存空间上下文
- python列表方法图解_python中list(列表)的使用方法总结(图文)