特殊的HBase API用法
发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,小编给大家分享一下特殊的HBase API用法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!直接上代码:Connectio
千家信息网最后更新 2026年11月01日特殊的HBase API用法
小编给大家分享一下特殊的HBase API用法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!
直接上代码:
Connection conn = ConnectionFactory.createConnection(conf);TableName tn = TableName.valueOf(strTN);Table table = conn.getTable(tn);RowFilter logFileTableFilter = new RowFilter(CompareFilter.CompareOp.EQUAL, new SubstringComparator("0UAV0020109000574633450"));Scan s = new Scan();s.setFilter(logFileTableFilter);ResultScanner ss = table.getScanner(s);for (Result r : ss) {for (Cell cell : r.listCells()) { KeyValue kv = (KeyValue) cell; System.out.print(new String(Arrays.copyOfRange(kv.getFamilyArray(), kv.getFamilyOffset(), kv.getFamilyOffset() + kv.getFamilyLength())) + " "); System.out.print(new String(Arrays.copyOfRange(kv.getQualifierArray(), kv.getQualifierOffset(), kv.getQualifierOffset() + kv.getQualifierLength())) + " "); System.out.println(new String(Arrays.copyOfRange(kv.getValueArray(), kv.getValueOffset(), kv.getValueOffset() + kv.getValueLength())) + " "); }}前面部分都很正常,2层循环,第一层是循环result,简单理解就是循环row,第二层循环每一个field。
请注意我标出来的部分,看起来很容易理解,分别是取列族、列、值。
可是事情的真相却不是这样的,看下面这个图:

好吧,我们再看一下源码:
public byte[] getFamilyArray() {return this.bytes;}public byte[] getQualifierArray() {return this.bytes;}public byte[] getValueArray() {return this.bytes;}这tmd不是一样的东西嘛?
好吧,奇葩就奇葩吧,关键是不好用,大概意思就是给你一个byte数组,关于这个field的所有数据都在这个数组里面,然后告诉你列族、列、值等等各种东西的offset和length,让你自己去把东西抠出来。每次取值要是都得这么做,那不得疯掉~~~
Arrays.copyOfRange(kv.getValueArray(), kv.getValueOffset(), kv.getValueOffset() + kv.getValueLength())
看看下面这段代码,还是有正常点的api的,这才符合人类习惯嘛~~~~~~
for (Result r : ss) { NavigableMap> maps = r.getNoVersionMap();for (byte[] fKey : maps.keySet()){ NavigableMap map = maps.get(fKey);for (byte[] key : map.keySet()){ System.out.print(new String(fKey) + ":"); System.out.print(new String(key) + " "); System.out.println(new String(map.get(key))); } }} 以上是"特殊的HBase API用法"这篇文章的所有内容,感谢各位的阅读!相信大家都有了一定的了解,希望分享的内容对大家有所帮助,如果还想学习更多知识,欢迎关注行业资讯频道!
循环
东西
篇文章
特殊
代码
内容
奇葩
就是
数组
部分
不好
不怎么
事情
二层
人类
关键
大部分
意思
数据
更多
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
咖啡豆
科技互联网产品
网络科技有限互联网
有马互联网科技
为想互联网科技
宜安科技 互联网金融
壹账通互联网科技
互联网科技ppt模板
互联网汽车科技小镇
宁波青枫互联网科技有限公司
互联网科技实习生岗位职责
互联网经济与金融科技
梅州GM互联网络科技有限公司
互联网科技手机排行榜
湖北辰鑫科技互联网
陕西九四连强互联网科技有限公司
互联网时代高科技布局
互联网科技对化妆品行业
互联网企业和网络科技有限公司
互联网 科技节活动 微视频大赛
南京欣网互联网络科技
互联网络科技有限公司
海南科技产业互联网平台
中盈科技互联网信息有限公司
重庆威客帮互联网科技
中化能源互联网科技招聘
宁夏科技产业互联网案例
互联网方面的科技前沿
杭州披云加互联网科技有限公司
唯美互联网科技