
Hbase
文章平均质量分 87
hellozhxy
这个作者很懒,什么都没留下…
展开
专栏收录文章
- 默认排序
- 最新发布
- 最早发布
- 最多阅读
- 最少阅读
-
HBase删除和修改操作
HBase的底层依赖于HDFS,其在进行数据存储的时候使用KeyValue类型。当数据进行删除或修改操作时,实际上是对KeyValue结构中的某些部分进行修改来完成。1 HBase源码分析之KeyValue参见HBase源码分析之KeyValue和HBase的基础类型KeyValueHBase是面向列的存储数据的,最终的存储单元都是KeyValue的结构,HBase本身也定义了一个KeyValue的类型,这是HBase数据存储的基本类型。从名字来看应该只有两个数据,一个是Key,一个是Value原创 2021-06-08 09:58:41 · 4702 阅读 · 0 评论 -
Hbase 学习笔记
HBASE由Google的Bigtable设计而来的面向列族的存储的非关系数据库,主要偏向适合数据分析。优点和缺点列式数据库优点,列式数据库会把相同列的数据都放在一块即列为单位存储。当我们查询某一列的时候只需要调出相应的块即可,这样还可以减少很多I/O。高压缩比如果数据元素间的相似性很高的话可以进行大幅度的压缩,相似度越高压缩比越大。即节约了空间又减少了I/O,从而提高性能。高并发,极易扩展Hbase的极易扩展主要体现在两个方面,一个是基于上层处理能力(Region...转载 2020-09-10 15:00:47 · 351 阅读 · 0 评论 -
Hbase寻址机制
1、寻址示意图2、-ROOT-和.META.表结构-ROOT-表结构.META.行记录结构3、寻址流程现在假设我们要从Table2里面查询一条RowKey是RK10000的数据。那么我们应该遵循以下步骤: 1. 从.META.表里面查询哪个Region包含这条数据。 2. 获取管理这个Region的RegionServer地址。 3. 连接这个Regio...转载 2018-09-14 09:19:00 · 369 阅读 · 0 评论 -
hbase过滤器查询
引言:过滤器的类型很多,但是可以分为两大类比较过滤器 专用过滤器过滤器的作用是在服务端判断数据是否满足条件,然后只将满足条件的数据返回给客户端;hbase过滤器的比较运算符:LESS <LESS_OR_EQUAL <=EQUAL =NOT_EQUAL <>GREATER_OR_EQUAL >=GREATER >NO_OP 排...转载 2018-09-13 10:23:15 · 289 阅读 · 0 评论 -
hbase命令行演示
进入hbase命令行./hbase shell显示hbase中的表list创建user表,包含info、data两个列族create 'user', 'info', 'data' 或者create 'user', {NAME => 'info', VERSIONS => '3'},{NAME => 'data'}向user表中插入信息,row k...转载 2018-09-13 10:23:08 · 1927 阅读 · 0 评论 -
HBase读写流程
HBase写流程假如说我们要插入一条数据到某个表里面,会经历的过程如下图: 概述 Client会先访问zookeeper,得到对应的RegionServer地址 Client对RegionServer发起写请求,RegionServer接受数据写入内存 当MemStore的大小达到一定的值后,flush到StoreFile并存储到HDFS 详细流程 Cl...转载 2018-09-08 18:33:41 · 441 阅读 · 0 评论 -
leveldb原理和使用
LevelDB是一个基于本地文件的存储引擎,非分布式存储引擎,原理基于BigTable(LSM文件树),无索引机制,存储条目为Key-value。适用于保存数据缓存、日志存储、高速缓存等应用,主要是避免RPC请求带来的延迟问题。在存取模型上,顺序读取性能极高,但是对于随机读取的情况延迟较大(但性能也不是特别低),比较适合顺序写入(key),随机的key写入也不会带来问题。数据存量通常为物理内存的3...转载 2018-05-29 17:35:57 · 4621 阅读 · 2 评论 -
LevelDB详解
LevelDB 一、LevelDB入门LevelDB是Google开源的持久化KV单机数据库,具有很高的随机写,顺序读/写性能,但是随机读的性能很一般,也就是说,LevelDB很适合应用在查询较少,而写很多的场景。LevelDB应用了LSM (Log Structured Merge) 策略,lsm_tree对索引变更进行延迟及批量处理,并通过一种类似于归并排序的方式高效地将更新迁移到磁盘,降低索...转载 2018-05-29 17:35:03 · 28080 阅读 · 0 评论 -
HBase数据存储格式
好的数据结构,对于检索数据,插入数据的效率就会非常高。常见的数据结构B+树根节点和枝节点很简单,分别记录每个叶子节点的最小值,并用一个指针指向叶子节点。 叶子节点里每个键值都指向真正的数据块,每个叶子节点都有前指针和后指针,这是为了做范围查询时,叶子节点间可以直接跳转,从而避免再去回溯至枝和根节点。 特点: 1、有n棵子树的结点中含有n个关键字,每个关键字不保存数据,只用来索引,所有数据都保存在叶...转载 2018-05-16 21:36:50 · 12525 阅读 · 0 评论 -
Hbase总结(十)Hhase性能调优
因官方Book Performance Tuning部分章节没有按配置项进行索引,不能达到快速查阅的效果。所以我以配置项驱动,重新整理了原文,并补充一些自己的理解,如有错误,欢迎指正。配置优化zookeeper.session.timeout默认值:3分钟(180000ms)说明:RegionServer与Zookeeper间的连接超时时间。当超时时间到后,ReigonServer会被Zookee...转载 2018-05-26 21:37:12 · 436 阅读 · 0 评论 -
HBase总结(九)Bloom Filter概念和原理
Bloom Filter是一种空间效率很高的随机数据结构,它利用位数组很简洁地表示一个集合,并能判断一个元素是否属于这个集合。Bloom Filter的这种高效是有一定代价的:在判断一个元素是否属于某个集合时,有可能会把不属于这个集合的元素误认为属于这个集合(false positive)。因此,Bloom Filter不适合那些“零错误”的应用场合。而在能容忍低错误率的应用场合下,Bloom F...转载 2018-05-26 21:33:13 · 420 阅读 · 0 评论 -
Hbase物理存储
1、整体结构 Table中的所有行都按照row key的字典序排列。 Table 在行的方向上分割为多个Hregion。 region按大小分割的(默认10G),每个表一开始只有一个region,随着数据不断插入表,region不断增大,当增大到一个阀值的时候,Hregion就会等分会两个新的Hregion。当table中的行不断增多,就会有越来越多的Hregi...转载 2018-09-14 09:18:44 · 877 阅读 · 0 评论 -
Hbase读写过程
1、读请求过程客户端通过zookeeper以及root表和meta表找到目标数据所在的regionserver 联系regionserver查询目标数据 regionserver定位到目标数据所在的region,发出查询请求 region先在memstore中查找,命中则返回 如果在memstore中找不到,则在storefile中扫描(可能会扫描到很多的storefile—-b...转载 2018-09-14 09:18:54 · 151 阅读 · 0 评论 -
HBase缺陷
缘起随着hadoop系列的兴起,基于HDFS的大规模KV存储系统HBase也进入“大规模使用阶段”。网上的Hbase资料很多,学习成本正在下降。从公开的资料看,国外facebook、国内taobao均宣称在线上环境大规模使用hbase。一切都让人很兴奋。于是,在项目中引入Hbase做存储,最终却选择放弃。HBase设计:看上去很美HBase是模仿google bigtable的开源产品...转载 2019-06-05 20:59:44 · 1646 阅读 · 0 评论 -
使用Spark/Java读取已开启Kerberos认证的HBase
1.赋予drguo用户相应的权限2.KDC中创建drguo用户并导出相应的keytab文件[root@bigdata28 ~]# kadmin.local Authenticating as principal drguo/admin@AISINO.COM with password.kadmin.local: addprinc drguo/bigdata28WARNING: no p...转载 2018-11-27 13:12:01 · 2338 阅读 · 1 评论 -
使用Spark/Java读取已开启Kerberos认证的HBase
1.赋予drguo用户相应的权限2.KDC中创建drguo用户并导出相应的keytab文件[root@bigdata28 ~]# kadmin.local Authenticating as principal drguo/admin@AISINO.COM with password.kadmin.local: addprinc drguo/bigdata28WARNING: no p...转载 2018-11-28 21:51:34 · 2009 阅读 · 1 评论 -
Spark读写Hbase的二种方式对比
作者:Syn良子 出处:http://www.cnblogs.com/cssdongl 转载请注明出处一.传统方式这种方式就是常用的TableInputFormat和TableOutputFormat来读写hbase,如下代码所示简单解释下,用sc.newAPIHadoopRDD根据conf中配置好的scan来从Hbase的数据列族中读取包含(ImmutableBytesWrita...转载 2018-10-31 20:38:37 · 2325 阅读 · 0 评论 -
Spark 下操作 HBase
HBase经过七年发展,终于在今年2月底,发布了 1.0.0 版本。这个版本提供了一些让人激动的功能,并且,在不牺牲稳定性的前提下,引入了新的API。虽然 1.0.0 兼容旧版本的 API,不过还是应该尽早地来熟悉下新版API。并且了解下如何与当下正红的 Spark 结合,进行数据的写入与读取。鉴于国内外有关 HBase 1.0.0 新 API 的资料甚少,故作此文。本文将分两部分介绍,第一部...转载 2018-10-31 19:54:38 · 847 阅读 · 0 评论 -
Scala Hbase 问题汇总
1.object hbase is not a member of package org.apache.hadoop when compiling scala 在Scala工程中使用HBase API,import hbase时,import org.apache.hadoop.hbase出现编译错误解决(大概,没有尝试): 使用sbt构建工程时,添加依赖: hbase-cl...转载 2018-10-31 19:52:34 · 1568 阅读 · 0 评论 -
spark从hbase读取写入数据
将RDD写入hbase注意点:依赖:将lib目录下的hadoop开头jar包、hbase开头jar包添加至classpath此外还有lib目录下的:zookeeper-3.4.6.jar、metrics-core-2.2.0.jar(缺少会提示hbase RpcRetryingCaller: Call exception不断尝试重连hbase,不报错)、htrace-core-3.1...转载 2018-10-31 12:42:20 · 6228 阅读 · 0 评论 -
Hbase高级应用:建表高级属性、行键设计、设计原则、热点问题
Hbase建表高级属性1、BLOOMFILTER默认是NONE 是否使用布隆过虑及使用何种方式 布隆过滤可以每列族单独启用。 使用 HColumnDescriptor.setBloomFilterType(NONE | ROW | ROWCOL) 对列族单独启用布隆。Default = ROW 对行进行布隆过滤。 对 ROW,行键的哈希在每次插入行时将被添加到布隆。 对 ROW...转载 2018-09-14 09:19:13 · 1627 阅读 · 0 评论 -
HBase phoenix二级索引
1. 为什么需要用二级索引?对于HBase而言,如果想精确地定位到某行记录,唯一的办法是通过rowkey来查询。如果不通过rowkey来查找数据,就必须逐行地比较每一列的值,即全表扫瞄。对于较大的表,全表扫描的代价是不可接受的。但是,很多情况下,需要从多个角度查询数据。例如,在定位某个人的时候,可以通过姓名、身份证号、学籍号等不同的角度来查询,要想把这么多角度的数据都放到rowkey中几乎不可能(...转载 2018-05-26 21:31:53 · 1521 阅读 · 0 评论 -
Hbase总结(八)Hbase中的Coprocessor
1.起因(Why HBase Coprocessor)HBase作为列族数据库最经常被人诟病的特性包括:无法轻易建立“二级索引”,难以执行求和、计数、排序等操作。比如,在旧版本的(<0.92)Hbase中,统计数据表的总行数,需要使用Counter方法,执行一次MapReduce Job才能得到。虽然HBase在数据存储层中集成了MapReduce,能够有效用于数据表的分布式计算。然而在很...转载 2018-05-26 21:30:27 · 330 阅读 · 0 评论 -
HBase总结(七)LSM理解
讲LSM树之前,需要提下三种基本的存储引擎,这样才能清楚LSM树的由来:哈希存储引擎 是哈希表的持久化实现,支持增、删、改以及随机读取操作,但不支持顺序扫描,对应的存储系统为key-value存储系统。对于key-value的插入以及查询,哈希表的复杂度都是O(1),明显比树的操作O(n)快,如果不需要有序的遍历数据,哈希表就是your Mr.RightB树存储引擎是B树(关于B树的由来,数据结...转载 2018-05-26 21:24:19 · 271 阅读 · 0 评论 -
HBase常用操作之namespace
1、介绍在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分。Apache HBase从0.98.0, 0.95.2两个版本开始支持namespace级别的授权操作,HBase全局管理员可以创建、修改和回收namespace的授权。2、namespaceHBase系统默认定义了两个缺省的namespacehbase:系统内建表,包...转载 2018-05-14 17:07:07 · 336 阅读 · 0 评论 -
Hbase原理、基本概念、基本架构
概述HBase是一个构建在HDFS上的分布式列存储系统;HBase是基于Google BigTable模型开发的,典型的key/value系统;HBase是Apache Hadoop生态系统中的重要一员,主要用于海量结构化数据存储;从逻辑上讲,HBase将数据按照表、行和列进行存储。与hadoop一样,Hbase目标主要依靠横向扩展,通过不断增加廉价的商用服务器,来增加计算和存储能力。Hbase表...转载 2018-05-07 17:42:34 · 203 阅读 · 0 评论 -
Hbase架构与原理
HBase是Apache Hadoop中的一个子项目,Hbase依托于Hadoop的HDFS作为最基本存储基础单元,通过使用hadoop的DFS工具就可以看到这些这些数据存储文件夹的结构,还可以通过Map/Reduce的框架(算法)对HBase进行操作一、 hbase架构 1.概述。HBase是Apache Hadoop的数据库,能够对大型数据提供随机、实时的读写访问。HBase的目标是存储并...转载 2018-05-07 17:39:46 · 229 阅读 · 0 评论 -
从HBase中移除WAL?3D XPoint技术带来的变革
最近,Intel在HBase社区提交了一个标题为"WALLess HBase on Persistent Memory"的问题单,将3D XPoint技术引入到HBase中,并且移除了WAL。虽然方案还没有公布详细的设计细节,本文借机讨论HBase现有架构的一些痛点,以及利用3D XPoint技术可能为HBase带来的一些变革。回顾LSM-TreeLSM-Tree设计源自Patrick O‘Nei...转载 2018-05-14 13:04:32 · 218 阅读 · 0 评论 -
HBase - Filter - 过滤器的介绍以及使用
博文作者:那伊抹微笑csdn 博客地址:http://blog.youkuaiyun.com/u0121852961 过滤器HBase 的基本 API,包括增、删、改、查等。增、删都是相对简单的操作,与传统的 RDBMS 相比,这里的查询操作略显苍白,只能根据特性的行键进行查询(Get)或者根据行键的范围来查询(Scan)。HBase 不仅提供了这些简单的查询,而且提供了更加高级的过滤器(Filter)来查询...转载 2018-05-10 20:36:52 · 224 阅读 · 0 评论 -
Hbase过滤器(Filter)汇总
FilterCompareFilter是高层的抽象类,下面我们将看到他的实现类和实现类代表的各种过滤条件RowFilter,FamliyFilter,QualifierFilter,ValueFilter行,列组,列,值等的过滤SingleColumnValueFilter单值过滤器是以特定“列”的“值”为过滤内容,值得是单列的值。而行值过滤器比较的是所有列的值。与其进行比较。FilterMiss...转载 2018-05-10 20:09:11 · 1047 阅读 · 0 评论 -
HBase上关于CMS、GC碎片、大缓存的一种解决方案:Bucket Cache
介绍BucketCache前,先对HBase的Cache做个介绍: 一.HBase在读取时,会以Block为单位进行cache,用来提升读的性能; 二.Block可以分类为DataBlock(默认大小64K,存储KV)、BloomBlock(默认大小128K,存储BloomFilter数据)、IndexBlock(默认大小128K,索引数据,用来加快Row所在DataBlock的定位) 三.对于一...转载 2018-05-10 13:49:39 · 416 阅读 · 0 评论 -
HBase之BloomFilter
HBase的Get/Scan操作流程 hbase中有BloomFilter的功能,可以在有些情况下过滤掉不需要的hfile,节省IO。BloomFilter作用BloomFilter在HBase中的作用? HBase**利用BloomFilter来提高随机读**(Get)的性能,对于顺序(Scan)而言,设置Bloomfilter是没有作用的(0.92以后,如果设置了bloomfilter为ROW...转载 2018-05-10 09:01:38 · 963 阅读 · 0 评论 -
Hbase 高级特性Bloom filter
Bloom filter 简单而言就是对hash 表的创新,用在 Hbase 中可以有有效减少磁盘IO次数。 图片来源:hbase 权威指南 **使用场景总结:当用户定期更新所有行时不适合使用Bloom filter,当用户定期更新部分行时,适合使用Bloom filter当数据单元格较小时不合适使用Bloom filter (因为此时将会有太多的Bloom filter)使用行级Bloom fi...转载 2018-05-10 09:01:30 · 293 阅读 · 0 评论 -
HBase基本数据操作详解
概述对于建表,和RDBMS类似,HBase也有namespace的概念,可以指定表空间创建表,也可以直接创建表,进入default表空间。对于数据操作,HBase支持四类主要的数据操作,分别是:Put:增加一行,修改一行;Delete:删除一行,删除指定列族,删除指定column的多个版本,删除指定column的制定版本等;Get:获取指定行的所有信息,获取指定行和指定列族的所有colunm,获取...转载 2018-05-15 09:13:55 · 185 阅读 · 0 评论 -
HBase最佳实践-读性能优化策略
任何系统都会有各种各样的问题,有些是系统本身设计问题,有些却是使用姿势问题。HBase也一样,在真实生产线上大家或多或少都会遇到很多问题,有些是HBase还需要完善的,有些是我们确实对它了解太少。总结起来,大家遇到的主要问题无非是Full GC异常导致宕机问题、RIT问题、写吞吐量太低以及读延迟较大。Full GC问题之前在一些文章里面已经讲过它的来龙去脉,主要的解决方案目前主要有两方面需要注意,...转载 2018-05-15 09:42:36 · 1090 阅读 · 0 评论 -
Hbase总结(五)-hbase常识及habse适合什么场景
当我们对于数据结构字段不够确定或杂乱无章很难按一个概念去进行抽取的数据适合用使用什么数据库?答案是什么,如果我们使用的传统数据库,肯定留有多余的字段,10个不行,20个,但是这个严重影响了质量。并且如果面对大数据库,pt级别的数据,这种浪费更是严重的,那么我们该使用是什么数据库?hbase数个不错的选择,那么我们对于hbase还存在下列问题:1.Column Family代表什么?2.HBase通...转载 2018-05-26 21:16:25 · 168 阅读 · 0 评论 -
Hbase总结(四)- Hbase与传统数据库的区别
一 Hbase是个啥东东? 在说Hase是个啥家伙之前,首先我们来看看两个概念,面向行存储和面向列存储。面向行存储,我相信大伙儿应该都清楚,我们熟悉的RDBMS就是此种类型的,面向行存储的数据库主要适合于事务性要求严格场合,或者说面向行存储的存储系统适合OLTP,但是根据CAP理论,传统的RDBMS,为了实现强一致性,通过严格的ACID事务来进行同步,这就造成了系统的可用性和伸缩性方面大大折扣,而...转载 2018-05-26 21:03:16 · 6466 阅读 · 1 评论 -
HBase总体介绍
hbase 介绍 一、Hbase发展历史 started by chad walters and jim 2006.11 G release paper on BigTable 2007.2 inital HBase prototype created as Hadoop contrib 2007.10 First useable Hbase 2008.1 Hadoop become ...转载 2018-05-26 19:38:01 · 335 阅读 · 0 评论 -
Hbase总结(三)-Hbase与Hive的区别与联系
问题导读:hive与hbase的底层存储是什么?hive是产生的原因是什么?habase是为了弥补hadoop的什么缺陷?共同点:1.hbase与hive都是架构在hadoop之上的。都是用hadoop作为底层存储区别:2.Hive是建立在Hadoop之上为了减少MapReduce jobs编写工作的批处理系统,HBase是为了支持弥补Hadoop对实时操作的缺陷的项目 。3.想象你在操作RMDB...转载 2018-05-26 19:38:12 · 1152 阅读 · 0 评论 -
Java操作Hbase进行建表、删表以及对数据进行增删改查,条件查询
1、搭建环境 新建JAVA项目,添加的包有: 有关Hadoop的hadoop-core-0.20.204.0.jar 有关Hbase的hbase-0.90.4.jar、hbase-0.90.4-tests.jar以及Hbase资源包中lib目录下的所有jar包 2、主要程序 Java代码 package com.wujintao.hbase.test; import java.i...转载 2018-05-26 19:10:05 · 154 阅读 · 0 评论