HBase 代码_7 | 学习笔记

简介: 快速学习 HBase 代码_7

开发者学堂课程【HBase 入门教程HBase 代码_7】学习笔记,与课程紧密联系,让用户快速学习知识。

课程地址:https://developer.aliyun.com/learning/course/397/detail/5079


HBase 代码_7


内容介绍:

一、HBase 代码_7

二、例子总结

三、课程总结


一、HBase 代码_7

代码:

/**

*  查询某个手机号所有王叫type=0的通话单

*/

@Test

public void scanDB2()throws Execption {

FilterList list = new FilterList(FilterList .Operator .MUST PASS _ONE/ MUST PASS _ALL);

PrefixFilter prefixFilter = new PrefixFilter ("18699732123".getBytes());

1ist. addFilter (prefixFiiter) ;

SingleColumnValueFilter singleColumnValueFilter =new SingleColumnValueFilter("cf1".getByte9()"type" .getByte5(),CompareOp.EQUAL; "0" getBytes());

list . addFilter (singleColumnValueFilte) ;

Scan scan = new Scan() ;

scan.setFilter (list) ;

ResultScanner r3s = hTable .getScanner (scan) ;

for(Result rs : r3s){

System. out.println (new String (Cel1Util.cloneValue (rs . getColumnLatestCell("cf1".ge

+ new String (Cel1Util. cloneValue (rs .getColumnLatestCell ("cf1" .getBytes(),+ new Strina(Cel10ti1. cloneVa lue (rscetColumnLatestCell ("Cf1".get)

}

代码写完之后,在输出查看结果。(找到 scanDB2右键 èRun Asè1 Junit Test 输出)(结果如下图:)

image.png

把所有的0全部输出,想要把 rowkey 输出,代码如下:

代码:

//在循环下面写

String rowkey = new String(rs. qe tColumnLatestCell ("cf1" .qetBytes()"type" . getBytes ()) .getRow())

//在到输出语句里添加 rowkey

在输出查看一下 rowkey。(找到 scanDB2右键 èRun Asè1 Junit Test 输出)

image.png

如果还想要好看的话,在手机号和时间里面加入下划线。手机号是同一个,类型是0,都是我们的主要类型,满足我们的业务需求。


二、例子总结

做查询写了两个例子,

第一个例子:做一个范围的查询;

第二个例子:是过滤器的一个使用。

过滤器其实很简单,只要把 setFilter 进去就可以了。下面的循环就是把结果拿到在输出出来,真正有用的是前面的那一部分代码,同学们注意看代码不要觉得对的就很难,其实它是很简单的,反而短的才会很难。

方法写完了之后我们在回过头来看一下整体代码,关于对 hbase 的操作,如果你是对表进行操作的话,我们都是通过 hbaseadmin 来做的。表里面的一些属性、数据我们是用 htable 来做的。在这边写了创建表的方法(createTb1),需要注意的是在创建表的时候需要给定你的列祖。在对属于这些属性的设置都是在列祖的程次上做的,包括缓存,最大使用内存,版本数都是在列祖程面上去做的。包括后面写的 insertDb 这个方法,都说明一个问题,在 hbase 当中来设计 rowkeyrowkey 的设计很重要。

最后就是把两个 scanDB 方法写完了,在使用 can 来查找的时候,就拿我们这个主教。如果是对于之前的关系型数据库直接写一个 where 条件就完事了,但是在这边只能使用过滤器,过滤器的效率不是很高,所有rowkey的设计很重要。我们通常设计的时候,把主要查询的业务放在你的 rowkey 当中,rowkey 设计必须要结合我们的业务来说。为什么说 rowkey 设计很重要,首先在 hbase 查询的时候,只能通过 rowkey 来进行过滤,除了你的过滤器,你的索引只是可以在 rowkey 这一层面。而且 rowkey 的长度是有限的,长度是64kb,所以 rowkey 不能特别特别的长。


三、课程总结

Hbase 这一块:

首先介绍 hbase,观看 hadoop 的生态图。在 hbase 生态图中,要明白每个主键是来做什么的。Hbase 的一些特性,一定要清楚。Hbase zookeeper 的一个关系,它不仅只是做一个高可用的,还可以做很多事情。Hbase 数据模型,在 hbase 上市资这么存储的,介绍了 rowkey  列族和 cfcf 顾名思义它市代表你在列里面的一个家族。主要注意的是,在创建表的时候,要给定它的列族。

相关实践学习
lindorm多模间数据无缝流转
展现了Lindorm多模融合能力——用kafka API写入,无缝流转在各引擎内进行数据存储和计算的实验。
云数据库HBase版使用教程
  相关的阿里云产品:云数据库 HBase 版 面向大数据领域的一站式NoSQL服务,100%兼容开源HBase并深度扩展,支持海量数据下的实时存储、高并发吞吐、轻SQL分析、全文检索、时序时空查询等能力,是风控、推荐、广告、物联网、车联网、Feeds流、数据大屏等场景首选数据库,是为淘宝、支付宝、菜鸟等众多阿里核心业务提供关键支撑的数据库。 了解产品详情: https://cn.aliyun.com/product/hbase   ------------------------------------------------------------------------- 阿里云数据库体验:数据库上云实战 开发者云会免费提供一台带自建MySQL的源数据库 ECS 实例和一台目标数据库 RDS实例。跟着指引,您可以一步步实现将ECS自建数据库迁移到目标数据库RDS。 点击下方链接,领取免费ECS&RDS资源,30分钟完成数据库上云实战!https://developer.aliyun.com/adc/scenario/51eefbd1894e42f6bb9acacadd3f9121?spm=a2c6h.13788135.J_3257954370.9.4ba85f24utseFl
相关文章
|
存储 SQL 自然语言处理
基于 HBase 的海量数据查询与检索解析|学习笔记
快速学习基于 HBase 的海量数据查询与检索解析
1047 0
基于 HBase 的海量数据查询与检索解析|学习笔记
|
5月前
|
SQL 分布式计算 Hadoop
Hadoop学习笔记(HDP)-Part.16 安装HBase
01 关于HDP 02 核心组件原理 03 资源规划 04 基础环境配置 05 Yum源配置 06 安装OracleJDK 07 安装MySQL 08 部署Ambari集群 09 安装OpenLDAP 10 创建集群 11 安装Kerberos 12 安装HDFS 13 安装Ranger 14 安装YARN+MR 15 安装HIVE 16 安装HBase 17 安装Spark2 18 安装Flink 19 安装Kafka 20 安装Flume
124 1
Hadoop学习笔记(HDP)-Part.16 安装HBase
|
存储 前端开发 Cloud Native
基于 HBase 快速构架海量订单存储系统|学习笔记
快速学习基于 HBase 快速构架海量订单存储系统
408 0
基于 HBase 快速构架海量订单存储系统|学习笔记
|
存储 搜索推荐 Java
如何基于 HBase 构建图片、视频数据的统一存储检索方案|学习笔记
快速学习如何基于 HBase 构建图片、视频数据的统一存储检索方案
876 0
如何基于 HBase 构建图片、视频数据的统一存储检索方案|学习笔记
|
SQL 存储 边缘计算
HBase&Hive 2(三)|学习笔记
快速学习 HBase&Hive 2(三)
128 0
HBase&Hive 2(三)|学习笔记
|
SQL 存储 分布式计算
HBase&Hive 2(二)|学习笔记
快速学习 HBase&Hive 2(二)
HBase&Hive 2(二)|学习笔记
|
存储 SQL 分布式计算
HBase&Hive 2(一)|学习笔记
快速学习 HBase&Hive 2(一)
115 0
HBase&Hive 2(一)|学习笔记
|
存储 SQL 缓存
HBase&HIve 1|学习笔记
快速学习 HBase&HIve 1
168 0
HBase&HIve 1|学习笔记
|
SQL 消息中间件 存储
基于 HBase 的大数据在线分析|学习笔记
快速学习基于 HBase 的大数据在线分析
382 0
基于 HBase 的大数据在线分析|学习笔记
|
XML 缓存 分布式计算
集成 Oozie 服务&集成 Hbase 服务 | 学习笔记
快速学习 集成 Oozie 服务&集成 Hbase 服务
集成 Oozie 服务&集成 Hbase 服务 | 学习笔记