- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
细细品味Hadoop_Hadoop集群(第11期副刊)_HBase之旅,hadoophbase,hadoophbase关系,hadoop2.6.0hbase,hadoophbase安装,hadoop和hbase的关系,hadoop2.6hbase,hbase与hadoop关系,hadoophbase版本
细细品味 Hadoop ——Hadoop 集群(第11 期副刊) 精 华 集 锦 csAxp 虾皮工作室 /xia520pi/ 2012 年 7 月 3 日 创建时间:2012/3/21 修改时间:2012/3/21 修改次数:0 Hadoop 集群(第11 期副刊) ——HBase 之旅(Taobao QA Team )
1、HTable基本概念
1.1 引言 团队中使用 HBase 的项目多了起来,对于业务人员而言,通常并不需要从头搭建、维
护一套HBase 的集群环境,对于其架构细节也不一定要深刻理解(交由HBase 集群维护团
队负责),迫切需要的是快速理解基本技术来解决业务问题。最近在XX 项目轮岗过程中,
尝试着从业务人员视角去看HBase ,将一些过程记录下来,期望对快速了解HBase 、掌握相
关技术来开展工作的业务人员有点帮助。我觉得作为一个初次接触 HBase 的业务开发测试
人员,他需要迫切掌握的至少包含以下几点: ? 深入理解HTable ,掌握如何结合业务设计高性能的HTable ? 掌握与HBase 的交互,反正是离不开数据的增删改查,通过HBase Shell 命令及Java Api 都是需要的 ? 掌握如何用 MapReduce 分析 HBase 里的数据,HBase 里的数据总要分析的,用 MapReduce 是其中一种方式 ? 掌握如何测试HBase MapReduce ,总不能光写不管正确性吧,debug 是需要的吧, 看看如何在本机单测debug 吧 本系列将围绕以上几点展开,篇幅较长,如果是HBase 初学者建议边读边练,对于HBase
比较熟练的,可以选读下,比如关注下HBase 的MapReduce 及其测试方法。
1.2 从一个示例说起 传统的关系型数据库想必大家都不陌生,我们将以一个简单的例子来说明使用RDBMS
和HBase 各自的解决方式及优缺点。 以博文为例,RDBMS 的表设计如下:
为了方便理解,我们以一些数据示例下:
河北工业大学——软件工程与理论实验室 整理:虾皮 1 创建时间:2012/3/21 修改时间:2012/3/21 修改次数:0 上面的例子,我们用HBase 可以按以下方式设计: 同样为了方便理解,我们以一些数据示例下,同时用红色标出了一些关键概念,后面会
解释。
河北工业大学——软件工程与理论实验室 整理:虾皮 2 创建时间:2012/3/21 修改时间:2012/3/21 修改次数:0
1.3 一些HTable基本概念
? Row key 行主键, HBase 不支持条件查询和Order by 等查询,读取记录只能按Row key (及其
range )或全表扫描,因此Row key 需要根据业务来设计以利用其存储排序特性(Table 按
Row key 字典序排序如1,10,100,11,2)提高性能。
? Column Family (列族) 在表创建时声明,每个 Column Family 为一个存储单元。在上例中设计了一个 HBase
表blog ,该表有两个列族:article 和author 。
? Column (列) HBase 的每个列都属于一个列族,以列族名为前缀,如列 article:title 和 article:content
属于article 列族,author:name 和author:nickname 属于author 列族。 Column 不用创建表时定义即可以动态新增,同一Column Family 的Columns 会群聚在
一个存储单元上,并依Column key 排序,因此设计时应将具有相同I/O 特性的Column 设计
在一个Column Family 上以提高性能。
? Timestamp HBase 通过row 和column 确定一份数据,这份数据的值可能有多个版本,不同版本的
值按照时间倒序排序,即最新的数据排在最前面,查询时默认返回最新版本。如上例中row
key 1 的 author:nickname 值有两个版本,分别为 1座机电话号码0811 对应的“一叶渡江”和
1座机电话号码8830 对应的“yedu ”(对应到实际业务可以理解为在某时刻修改了nickname 为
yedu ,但旧值仍然存在)。Timestamp 默认为系统当前时间(精确到毫秒),也可以在写入数
据时指定该值。
? Value 每个值通过 4 个键唯一索引,tableName+RowKey+ColumnKey+Timestamp value ,例
如上例中 tableName ’
文档评论(0)