首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

轻松理解Hbase面向的存储

官方介绍 Apache Hbase是Hadoop数据库,一个分布式、可扩展、大数据存储。 当你需要随机地实时读写大数据时使用Hbase。它的目标是管理超级大表-数十亿行X数百万。...Hbase世界 Hbase虽然弱化了结构,但并不等于放任不管。传统关系型数据库在插入数据前表结构(即所有的数据类型)已经是严格确定的。...Hbase的表在放入数据前也有需要确定下来的东西,那就是Column Family(常译为族/簇)。单词Family就是家庭的意思,所以族就是的家庭。...此时去查询获取的是新数据,仿佛是更新了,但其实只是默认返回了最新版本的数据而已。如下图: ? 时间戳.png 一个行键、族、修饰符、数据和时间戳组合起来叫做一个单元格(Cell)。...row.png 在Hbase中,只要确定了族(具体的不用管),表(Table)就确定了。如下图: ?

2.8K10
您找到你想要的搜索结果了吗?
是的
没有找到

Hbase的后缀过滤查询

HBase原生自带了对RowKey的很多种查询策略。...通过这个过滤器可以在HBase中的数据的多个维度(行,,数据版本)上进行对数据的筛选操作,也就是说过滤器最终能够筛选的数据能够细化到具体的一个存储单元格上(由行键,列明,时间戳定位)。...,,值等的过滤 SingleColumnValueFilter 单值过滤器是以特定“”的“值”为过滤内容,值得是单列的值。...而行值过滤器比较的是所有的值。与其进行比较。 FilterMissing 指的是对于找不到该的行的时候,做的特殊处理。...TimestampsFilter 这里参数是一个集合,只有包含在集合中的版本才会包含在结果集中 由于其原生带有PrefixFilter这种对ROWKEY的前缀过滤查询,因此想着实现的后缀查询的过程中

3.6K70

HBase RowKey 设计与查询实践

唯一原则 RowKey 本身具有唯一性, 写入相同RowKey的数据下相同的会被覆盖。 排序原则 数据的存储是按照RowKey进行字典方式升序存储,主要是为了方便检索。...散原则 设计的RowKey应均匀的分布在各个HBase节点上,避免产生热点。...多维查询场景 多维查询也就是多条件查询,需要任意维度的组合查询,但是HBase 并不擅长做数据分析,为了保证查询性能,因此通常会在离线侧或者实时侧将多维任意组合的数据指标提前加工好写入HBase 中(即...HBase 本身存储是按照RowKey 字典顺序排序的, 在数据扫描时也是按照startRowKey作为起始值顺序查询出数据。...只能通过扫描全表数据进行然后进行内存分页, 因此这种方式只能数据量较少的情况下使用 二级索引分页:使用es 做索引,通过es分页查询查询出rowKey, 然后查询HBase 中数据, 将scan操作转换为批量

1K20

hue 查询 hbase 操作相关参考

界面操作说明 进入hue中的hbase 进入表的查询界面 界面说明 查询语句 ,表示结束查询,可以不加 主键查询 输入主键 rowkey1,rowkey2 说明:只输入主键查询 例1:00000051...>*+(n-1) 根据列名模糊查询,col1 to col2显示col1到col2之间的 例1:00000051|* +9 [i:ts,i:path] 例2:00000051|* +9 [i:p*+...ValueFilter(=,'binary:111') 值等于111 以上过滤器是大部分常用的过滤器,在hue-hbase中另有一些过滤器未在此文档中描述。...以下是我自己整理的一部分参考语法: hbase中有单纯根据查询的ValueFilter和根据列名和查询的SingleColumnValueFilter,可根据需要选择。...下表中是按照根据列名和值来进行查询的参考 SQL hue_hbase select col1,col2 [col1,col2] where col1="student" SingleColumnValueFilter

1.8K30

分布式NoSQL存储数据库Hbase_MR集成Hbase:读写Hbase规则(九)

分布式NoSQL存储数据库Hbase(九) 知识点01:课程回顾 知识点02:课程目标 MapReduce读写Hbase 重点:记住读写的规则 Spark中读写Hbase规则与MapReduce...是族的一个属性,用于数据查询时对数据的过滤,类似于ORC文件中的布隆索引 实现 族属性:BLOOMFILTER => NONE | ‘ROW’ | ROWCOL NONE :不开启布隆过滤器...自动判断是否包含需要的rowkey,如果包含就读取这个文件,如果不包含就不读这个文件 ROWCOL:行列级布隆过滤 生成StoreFile文件时,会将这个文件中有哪些Rowkey的以及对应的族和的信息数据记录在文件的头部...当读取StoreFile文件时,会从文件头部或者这个StoreFile中的所有rowkey以及的信息,自动判断是否包含需要的rowkey以及,如果包含就读取这个文件,如果不包含就不读这个文件 总结...Hbase通过布隆过滤器,在写入数据时,建立布隆索引,读取数据时,根据布隆索引加快数据的检索 知识点15:Hbase优化:族属性 知识点16:Hbase优化:其他优化 附录一:Maven依赖

1.4K10

HBase底层原理解析HBASE族不能设计太多的原因?

在生产中,我们设计列族时会将具有相似属性的比如IO特性或者将经常一起查询放到一个族中,可以减少文件的IO、寻址时间,从而提高性能。...每个族在文件层面上是以单独的文件存储的。但是不同的族,却可能会共享一个region。这就会导致一个问题: HBase 表中族A的数据有100万行,但是族B可能才1000行。...当进行region split时,会族B也进行切分,从而导致这1000行数据也分布在多个不同region中,最终导致查询数据时,导致寻址时间等增加,影响性能。...如果一个HBase表中设置过多的族,则可能引起以下问题: 一个region中存有多个store,当region分裂时导致多个族数据存在于多个region中,查询某一族数据会涉及多个region导致查询效率低...当一个族出现压缩或缓存刷新时,因为关联效应会引起临近的其他族做同样的操作,在族过多时会涉及大量的IO开销 所以,我们在设计HBase表的族时,遵循以下几个主要原则,以减少文件的IO、寻址时间:

1.8K11

Hive中排除SELECT查询

简介 在 Hive 表中可能存在很多,也有可能就存在几列。如果我们想要表中所有,毫无疑问我们可以使用 SELECT *。但在某些情况下,我们可能拥有 100 多,并且我们只不需要其中几列。...在这种情况下,之前都是手动的添加 SELECT 查询中的所有列名。由于数很多,比较啰嗦。因此,我们希望能在 Hive 中从 SELECT 查询中排除某些。 2....此表中一共有100多,如下图所示(只展示了8): ? 如果我们不想要 event_ts 这一。我们会使用如下查询来排除这一: SELECT `(event_ts)?...., prov, city FROM ; 如果我们不想要 event_ts 和 event_tm 两。...我们会使用如下查询来排除这两: SELECT `(event_ts|event_tm)?+.+` FROM ; 如果我们要排除多,使用 | 分割。

5K10

Hbase 学习(四) hbase客户端设置缓存优化查询

我们在用hbase的api对hbase进行scan操作的时候,可以设置caching和batch来提交查询效率,那它们之间的关系是啥样的呢,我们又应该如何去设置? 首先是我们的客户端代码。...当caching和batch都为1的时候,我们要返回10行具有20的记录,就要进行201次RPC,因为每一都作为一个单独的Result来返回,这样是我们不可以接受的。...接着我们继续看下图 一次查询20条记录的话,只需要3次RPCs,数在10以内的数据,取20条,20/10即可,为什么是3呢,因为还有一次RPC是用来确认的。...这就好说啦,这样我们就可以用来优化我们的scan查询了,在查询的时候,按照查询数动态设置batch,如果全查,则根据自己所有的表的大小设置一个折中的数值,caching就和分页的值一样就行。

3K100

HBASE+Solr实现详单查询

最近群里面讨论HBASE的使用场景,以及是会没落,这个还真是一句话说不清楚。本文讲其中一个场景:详单查询。 背景 某电信项目中采用HBase来存储用户终端明细数据,供前台页面即时查询。...HBase无可置疑拥有其优势,但其本身只对rowkey支持毫秒级的快速检索,对于多字段的组合查询却无能为力。...针对HBase的多条件查询也有多种方案,但是这些方案要么太复杂,要么效率太低,本文只对基于Solr的HBase多条件查询方案进行测试和验证。...原理 基于Solr的HBase多条件查询原理很简单,将HBase表中涉及条件过滤的字段和rowkey在Solr中建立索引,通过Solr的多条件查询快速获得符合过滤条件的rowkey值,拿到这些rowkey...之后在HBASE中通过指定rowkey进行查询

2K50

分布式NoSQL存储数据库Hbase_族的设计(五)

分布式NoSQL存储数据库Hbase_族的设计(五) 知识点01:课程回顾 Hbase存储原理 存储架构 Hbase:对外提供分布式内存 Master:集群管理 RegionServer...目录:/hbase Hbase数据:/hbase/data NS目录 Table的目录 Region的目录 族的目录...Rowkey的前缀 目的:尽量走索引查询 唯一原则:每条Rowkey是不能重复 目的:唯一标识一条数据 组合原则:将最常用的几个查询条件组合构建Rowkey 目的:尽量大部分查询都走索引...随机取某一的一个值 [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9a9g0u0B-1616666919964)(20210322_分布式NoSQL存储数据库Hbase...Rowkey 知识点09:聊天系统案例:测试写入代码 知识点10:聊天系统案例:查询需求分析 知识点11:聊天系统案例:测试查询代码 知识点12:聊天系统案例:查询问题 知识点13:二级索引 附录一:Maven

1.3K20

分布式NoSQL存储数据库Hbase(六)

文章目录 分布式NoSQL存储数据库Hbase(六) 知识点01:回顾 知识点02:目标 知识点03:SQL on Hbase 知识点04:Hive on Hbase 介绍 知识点05:Hive on...Rowkey设计 业务原则:将最常用的查询条件的字段作为Rowkey的前缀 唯一原则:保证每一个Rowkey表示唯一的一条数据 组合原则:尽量将常用的几个查询字段组合作为rowkey 散原则:构建不连续的...族设计 长度原则:名称没有别的意义,满足标识以后,越短越好 个数原则:族的个数不超过3个 1个:如果的个数比较少 2个或者3个:如果的个数达到30个及以上 2....Hbase支持SQL,支持JDBC方式对Hbase进行处理 Hbase的结构是否能实现基于SQL的查询操作?...数据构建结构化的数据形式 可以用SQL来实现处理 实现 将Hbase表中每一行对应的所有构建一张完整的结构化表 如果这一行没有这一,就补null Hive:通过MapReduce来实现 Phoenix

2.9K20

Spark如何读取Hbase特定查询的数据

最近工作需要使用到Spark操作Hbase,上篇文章已经写了如何使用Spark读写Hbase全量表的数据做处理,但这次有所不同,这次的需求是Scan特定的Hbase的数据然后转换成RDD做后续处理,简单的使用...Google查询了一下,发现实现方式还是比较简单的,用的还是Hbase的TableInputFormat相关的API。...基础软件版本如下: 直接上代码如下: 上面的少量代码,已经完整实现了使用spark查询hbase特定的数据,然后统计出数量最后输出,当然上面只是一个简单的例子,重要的是能把hbase数据转换成RDD,只要转成...注意上面的hbase版本比较新,如果是比较旧的hbase,如果自定义下面的方法将scan对象给转成字符串,代码如下: 最后,还有一点,上面的代码是直接自己new了一个scan对象进行组装,当然我们还可以不自己

2.7K50
领券