




已阅读5页,还剩29页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
2,6.3 Hbase,谷歌发表论文BigTable,Powerset开启了Hbase项目,Powerset将Hbase交给Apache托管,Hbase成为Apache顶级项目,Hbase是基于Hadoop的开源分布式数据库,它以Google的BigTable为原型,设计并实现了具有 高可靠性 高性能 列存储 可伸缩 实时读写 的分布式数据库系统。,HBase适合于存储非结构化数据,Hbase是基于列的而不是基于行的模式,Hbase在Hadoop之上提供了类似于BigTable的能力,6.3 Hbase,6.3.1 Hbase简介,6.3.2 Hbase入门,4,6.3 Hbase,Hbase数据模型,数据的逻辑模型,数据的物理模型,的形式存储结构化数据,数据库一般以,的形式存储数据,Hbase也以,用户对数据的组织形式,Hbase里数据在HDFS上的具体存储形式,5,Hbase数据模型,逻辑模型,列族,概念,元素,时间戳,行和列确定的存储单元,6,6.3 Hbase,Hbase数据模型,表中仅有一行数据,行的唯一标识为n.www,对这行数据的每一次逻辑修改都有一个时间戳关联对应。 表中共有四列:contents:html,anchor:,anchor:my.look.ca,mime:type,每一列以前缀的方式给出其所属的列族。,7,6.3 Hbase,Hbase数据模型,通过单个 行健访问,给定行健的 范围访问,全表扫描,行键是数据行在表中的唯一标识,并作为检索记录的主键。,Hbase提供了两个版本的回收方式:,对每个数据单元,只存储指定个数的最新版本,1,保存最近一段时间内的版本(如七天),客户端可以按需查询,2,元素由行健、列(:)和时间戳唯一确定,元素中的数据以字节码的形式存储,没有类型之分。,物理模型,概念模型中的一个行进行分割 并按照列族存储,Hbase数据模型,表中的空值是不被存储的,如果没有指名时间戳,则返回指定列的最新数据值,可以随时向表中的任何一个列添加新列,而不需要事先声明,8,6.3 Hbase,Hbase数据模型,9,Hbase采用master/slave架构,主节点运行的服务称为HMaster,从节点服务称为HRegionServer,底层采用HDFS存储数据,Hbase架构,client,HMaster,6.3 Hbase,Hbase架构,1)Client,Client端使用Hbase的RPC机制与HMaster和HRegionServer进行通信,2)ZooKeeper,存储了ROOT表的地址、HMaster的地址和HRegionServer地址,3)HMaster,Hbase主节点,将Region分配给HRegionServer,协调HRegionServer的负载并维护集群状态,4)HRegionServer,HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据,12,6.3 Hbase,6.3.1 Hbase简介,6.3.2 Hbase入门,14,6.3 Hbase,Hbase部署,15,6.3 Hbase,Hbase接口,Hbase提供了诸多访问接口,下面简单罗列各种访问接口。,Native Java API,Hbase Shell,Thrift Gateway,最常规和高效的访问方式,适合Hadoop MapReduce Job并行批处理Hbase表数据。,Hbase的命令行工具,最简单的接口,适合管理、测试时使用。,利用Thrift序列化技术,支持C+,PHP,Python等多种语言,适合其他异构系统在线访问Hbase表数据。,16,6.3 Hbase,Hbase接口,Hbase提供了诸多访问接口,下面简单罗列各种访问接口。,REST Gateway,Pig,Hive,支持REST 风格的HTTP API访问Hbase,解除了语言限制。,可以使用Pig Latin流式编程语言操作Hbase中的数据,和Hive类似,本质上最终也是编译成MR Job来处理Hbase表数据,适合做数据统计。,同Pig类似,用户可以使用类SQL的HiveQL语言处理Hbase表中数据,当然最终本质依旧是HDFS与MR操作。,17,6.3 Hbase,Hbase接口,【例6-3】按要求完成问题: 假定MySQL里有member表,要求使用Hbase的Shell接口,在Hbase中新建并存储此表。 简述Hbase是否适合存储问题中的结构化数据,并简单叙述Hbase与关系型数据库的区别。,18,下面将姓名、性别、年龄这三个字段抽象为个人属性(personalAttr),教育、职业、收入抽象为社会属性(socialAttr),personalAttr列族包含name、gender和age三个限定符;同理socialAttr下包含edu、prof、inco三个限定符。,6.3 Hbase,Hbase接口,【例6-3】解:,19,rootiClient # hbase shell #进入Hbase命令行 hbase(main):001:0 list #查看所有表 hbase(main):002:0 create member,id,personalAttr,socialAttr #创建member表 hbase(main):003:0 list hbase(main):004:0 scan member #查看member内容 hbase(main):005:0 put member,201401,personalAttr:name,aa #向member表中插入数据 hbase(main):006:0 put member,201401,personalAttr:gender,0 hbase(main):007:0 put member,201401,personalAttr:age,21 hbase(main):008:0 put member,201401,socialAttr:edu,e0 hbase(main):009:0 put member,201401,socialAttr:job,p3 hbase(main):010:0 put member,201401,socialAttr:imcome,m hbase(main):011:0 scan member hbase(main):012:0 disable member #废弃member表 hbase(main):013:0 drop member #删除member表 hbase(main):014:0 quit,按上述思路,iClient上依次执行如下命令:,6.3 Hbase,Hbase接口,20,6.3 Hbase,Hbase接口,下面简单罗列Hbase和关系型数据库的区别:,Hbase只提供字符串这一种数据类型,其他数据类型的操作只能靠用户自行处理,而关系型数据库有丰富的数据类型;,Hbase数据操作只有很简单的插入、查询、删除、修改、清空等操作,不能实现表与表关联操作,而关系型数据库有大量此类SQL语句和函数;,Hbase基于列式存储,每个列族都由几个文件保存,不同列族的文件是分离的,关系型数据库基于表格设计和行模式保存;,Hbase修改和删除数据实现上是插入带有特殊标记的新记录,而关系型数据库是数据内容的替换和修改;,Hbase为分布式而设计,可通过增加机器实现性能和数据增长,而关系型数据库很难做到这一点。,1,2,3,4,5,6.4 Pig,6.4.1 Pig简介,6.4.2 Pig入门,23,Pig相当于一个Hadoop的客户端,它先连接到Hadoop集群,之后才能在集群上进行各种操作。Pig的基本框架如下图所示。,6.4 Pig,Pig基本框架,24,6.4 Pig,Pig语法,1)Pig Latin数据类型,基本数据类型,1,和大部分程序语言类似,Pig的基本数据类型为int、long、float、double、chararray和bytearray。,复杂数据类型,2,字符串或基本类型与字符串的组合,主要包含以下四种。,Filed,Tuple,Bag,Map,25,Pig Latin提供了算术、比较、关系等运算符,这些运算符的含义和用法与其他语言(C,Java)相差不大。,6.4 Pig,Pig语法,2)Pig Latin运算符,算术 运算符,加(+),减(-),乘(*),除(/),取余 (%),三目运算符(?:),比较 运算符,等于(=),不等(!=),26,Pig Latin是由一系列函数(命令)构成的数据处理流,这些函数或是内置或是用户自定义,下表是最常用的几个命令。,6.4 Pig,Pig语法,3)Pig Latin函数,6.4 Pig,6.4.1 Pig简介,6.4.2 Pig入门,28,6.4 Pig,Pig入门,1Pig部署,2Pig访问接口,由于Pig只相当于Hadoop的一个客户端,用户所写的Pig Latin经翻译器翻译后再提交集群执行,故只要在客户机上部署Pig即可,Pig提供了类Shell方式的访问接口,用户在Linux Shell下输入Pig,然后回车即可进入Pig命令行接口(即grunt)。,本章未完待续,百度排名首位的大数据资料和交流中心,百度排名首位的云计算资料和交流中心,终生免费的智能硬件大数据托管平台,扫一扫,进入万物云,终生免费的环境大数据共享平台,扫一扫,进入环境云,云创大数据 给您一步到位
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 新品推广合同
- 工程私人协议合同范本
- 建材购货合同范本简易
- 小产权借款合同范本
- 社区医院劳务合同范本
- 潍坊劳务用工合同范本
- 网页制作定制合同范本
- 影楼员工入股合同范本
- 统借统还借款合同范本
- 矿山资质转让合同范本
- 土地复垦方案范本
- T-CRHA 089-2024 成人床旁心电监测护理规程
- 黄豆苷元药理作用研究-深度研究
- 2025年全国企业员工全面质量管理知识竞赛题库(试题及答案)
- 2025年电信人工智能学习考试题库(含答案)
- 机器人焊接技术与应用考核试卷
- CNAS-CL01:2018 检测和校准实验室能力认可准则
- 中考名著《唐诗三百首》习题集
- 危险性较大的分部分项工程安全监理实施细则
- 施工期间交通导行方案
- 《森林疗养基地建设技术导则》(T-CSF 001-2019)
评论
0/150
提交评论