Hbase
韩王-信
无成有终含章可贞
展开
-
HBase Architecture 101 - Storage
One of the more hidden aspects of HBase is how data is actually stored. While the majority of users may never have to bother about it you may have to get up to speed when you want to learn what the转载 2013-09-22 15:54:00 · 1101 阅读 · 0 评论 -
hive 维度表更新
因为hadoop/hive本质上不支持更新,所以hive不能够采用update行级别的维度数据的更新。可以采用的变通的方式我总结有以下三种。hive和hbase结合我认为这是首选的方式,hbase本质上也是不支持行级更新,只不过是追加行加上时间戳,然后取最新的时间戳的数据而已,但是对于我们来说是透明的。可以在hbase中建立一张表,然后在hive中也建立这张维度表,再hive中将这原创 2013-12-19 10:41:19 · 4488 阅读 · 0 评论 -
Hbase 使用fiilter
几大Filters1、Comparision Filters 1.1 RowFilter1.2 FamilyFilter 1.3 QualifierFilter 1.4 ValueFilter 1.5 DependentColumnFilter2、Dedicated Filters 2.1 SingleColumnValue转载 2013-12-16 10:40:56 · 764 阅读 · 0 评论 -
Hbase Region的拆分和合并
Hbase中的表的region的拆分主要由以下的因素决定Min (R^2 * “hbase.hregion.memstore.flush.size”, “hbase.hregion.max.filesize”)其中R是该region中所包含的该表的region的数量,一般情况下如果memstore.flush.size 的值是128M,那么当开始新建一张表并开始写入数据时,当达到128M开原创 2013-12-13 09:21:41 · 10712 阅读 · 0 评论 -
hbase写数据进程
hbase写数据过程博文说明:1、研究版本hbase0.94.12;2、贴出的源代码可能会有删减,只保留关键的代码 从client和server两个方面探讨hbase的写数据过程。一、client端 1、写数据API 写数据主要是HTable的单条写和批量写两个API,源码如下://单条写APIpublic void put(final P转载 2013-12-13 15:19:09 · 1450 阅读 · 0 评论 -
HBase简介(很好的梳理资料)
一、简介historystarted by chad walters and jim2006.11 G release paper on BigTable2007.2 inital HBase prototype created as Hadoop contrib2007.10 First useable Hbase2008.1 Hadoop become Apache转载 2013-12-13 15:08:06 · 814 阅读 · 0 评论 -
Hbase 的compact和rowkey全局有序
看下当一条新的rowkey插入表的时候,怎么保证所有的rowkey都是全局有序的,首先当要插入个rowkey前会找到这个rowkey应该插在那个region里,这个是容易解决的,因为只要遍历所有region的endrow和startrow即可,找到新的rowkey该放在哪个region下,然后写入该region的memstore,写入memstore时会触发和memstore里原有的数据进行合原创 2013-12-13 15:43:35 · 2257 阅读 · 0 评论 -
Hbase 日常维护
一,基本命令: 建表:create 'testtable','coulmn1','coulmn2' 也可以建表时加coulmn的属性如:create 'testtable',{NAME => 'coulmn1', BLOOMFILTER => 'NONE', REPLICATION_SCOPE => '0', VERSIONS => '10', COMPRESSION =>转载 2013-12-12 15:55:03 · 741 阅读 · 0 评论 -
Apache HBase Region Splitting and Merging
For this post, we take a technical deep-dive into one of the core areas of HBase. Specifically, we will look at how Apache HBase distributes load through regions, and manages region splitting. HBase s转载 2013-12-12 14:04:21 · 2689 阅读 · 0 评论 -
Hbase架构和实现原理
一、架构思路 Hbase是基于Hadoop的项目,所以一般情况下我们使用的直接就是HDFS文件系统,这里我们不深谈HDFS如何构造其分布式的文件系统,只需要知道虽然Hbase中有多个RegionServer的概念,并不意味着数据是持久化在RegionServer上的,事实上,RegionServer是调度者,管理Regions,但是数据是持久化在HDFS上的。明确这一点,在后面的讨论中,转载 2013-12-11 09:56:48 · 740 阅读 · 0 评论 -
HBase性能优化的四个要点
1 hbase.hregion.max.filesize应该设置多少合适默认值:256M说明:Maximum HStoreFile size. If any one of a column families' HStoreFiles has grown to exceed this value, the hosting HRegion is split in two.HStoreFil转载 2013-12-11 09:15:26 · 851 阅读 · 0 评论 -
hbase rowkey设计
1.大数据在HBASE存储、计算以及查询的应用场景海量数据都是事务数据,事务数据都是在时间的基础上产生的。数据的业务时间可能会顺序产生,也可能不会顺序产生,比如某些事务发生在早上10点,但是在下午5点才结束闭并生成出来,这样的数据就会造成存储加载时的时间连续性。另外海量数据的挖掘后产生的是统计数据,统计数据也有时间属性,统计数据如果进行保存必须保证在统计计算之后数据尽量不再变化,如果统计发生后转载 2013-12-10 15:44:16 · 1096 阅读 · 0 评论 -
hbase 列出一个表所有的rowkey
ResultScanner scan= table.getScanner(scan);for (Result r: scan) { byte[] key == r.getRow();原创 2013-12-10 15:37:51 · 11665 阅读 · 0 评论 -
Hbase rowkey设计
在设计RowKey的时候,常常有应用的RowKey必须包含ID部分,这样才可以支持查询访问。但ID自增长,会导致写入数据的时候压力集中在某一个或少数几个Region上,这是HBase设计的大忌。 经过多个应用的实践,我创造了ID的二进制反转的方式来避免。 简单说明: 比如ID是Byte型(一般为int或者long,此处为方便解释),RowKey=ID+timestamp,1,2,3转载 2013-12-10 16:25:40 · 940 阅读 · 0 评论 -
hbase 获取cell 中各个版本的数据
hbase中的cell 是按版本来存储的,每个cell都有各种版本的数据,所以当update一个cell中的数据的时候,其实是网cell的末尾追加一个版本的数据,而update之前的数据依然是存在的,这和insert一个新的数据没有任何的区别,每个family都可以设置每个cell要保留的版本数量,默认是3,由VERSIONS决定。 当使用get或者scan命令查看数据时候,如果没有指定版本数则默原创 2013-12-10 09:21:30 · 9024 阅读 · 0 评论 -
HBase File Locality in HDFS
One of the more ambiguous things in Hadoop is block replication: it happens automatically and you should not have to worry about it.HBase relies on it 100% to provide the data safety as it stores转载 2013-09-22 15:55:25 · 1338 阅读 · 1 评论 -
hbase 如何在hdfs上做到实时的
先来看MR如何在hdfs的一个大文件中检索一行数据的。一个大文件在hdfs上被拆分成很多block,在集群中不同的block通常会放在不同的datanode中,当要从改文件中检索一行数据时,每个block都会启动一个mapper作业来遍历该block中的数据,这就意味着在不同的datanode(更确切的说应该是tasktracker,在本地化计算的时候会在datanode上)上会同时运行m原创 2013-09-23 10:19:33 · 3813 阅读 · 0 评论 -
hbase rowkey 对齐
在hbase中,如果是以单纯的整形数字作为rowkey的话,一定要注意位数对齐的问题,假设下面的rowkey10011102103在查询的时候以rowkey的范围进行查询startrow=100 stoprow=103,我们期望的查询结果是100102103但是在实际的结果中发现11也出现在查询结果中,因为在范围查询中是按照位数的顺序逐次比较的,而不是按照数学的原创 2013-12-22 10:59:00 · 1219 阅读 · 0 评论