hbase基础知识

上传人:xian****hua 文档编号:244975712 上传时间:2024-10-06 格式:PPT 页数:35 大小:612KB
返回 下载 相关 举报
hbase基础知识_第1页
第1页 / 共35页
hbase基础知识_第2页
第2页 / 共35页
hbase基础知识_第3页
第3页 / 共35页
点击查看更多>>
资源描述
,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,单击此处编辑母版标题样式,单击此处编辑母版文本样式,第二级,第三级,第四级,第五级,*,课程安排,HBASE基础知识,*,HBASE的全分布的搭建,*,HBASE Shell,*,HBASE的批量导入,*,HBASE的Java客户端,*,-加深拓展-,HBASE的集群的搭建,*,HBASE的表设计,*,HBASE的底层存储模型,*,HBASE,基础知识,HBase简介,HBase,Hadoop Database,是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,利用HBase技术可在廉价PC Server上搭建起大规模结构化存储集群。HBase利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协调工具。,HBASE Cluster member,HBASE,基础知识,HBASE,中的每一张表,就是所谓的,BigTable,。稀疏表。,RowKey,和,ColumnKey,是二进制值,byte,,按字典顺序排序;,Timestamp,是一个,64,位整数;,value,是一个未解释的字节数组,byte,。,表中的不同行可以拥有不同数量的成员。即支持“动态模式“模型,逻辑数据模型,物理数据模型,将逻辑模型中的一个,Row,分割为根据,Column family,存储的物理模型,数据模型行,Row Key,Time Stamp,Column Contents,Column Anchor,Column“mime”,my.look.ca,“n.www”,T9,CNN,T8,CNN.COM,T6,“.“,Text/html,T5,“.“,t3,“.“,行键,列,列,字符串、整数、二进制串甚至串行化的结构都可以作为行键,表按照行键的“逐字节排序”顺序对行进行有序化处理,表内数据非常稀疏,不同的行的列的数完全目可以大不相同,可以只对一行上“锁”,对行的写操作是始终是“原子”的,数据模型列,列必须用族,(family),来定义,任意一列有如下形式,“族:标签”,其中,族和标签都可为任意形式的串,物理上将同“族”数据存储在一起,数据可通过时间戳区分版本,Row Key,Time Stamp,Column Contents,Column Anchor,Column“mime”,my.look.ca,“n.www”,T9,CNN,T8,CNN.COM,T6,“.“,Text/html,T5,“.“,t3,“.“,族,标签,HBASE,基础知识,表是存放数据的。表由行和列组成,数据模型,Row Key:行键,Table的主键,Table中的记录按照Row Key排序,Timestamp:时间戳,每次数据操作对应的时间戳,可以看作是数据的version number,Column Family:列簇,Table在水平方向有一个或者多个Column Family组成,一个Column Family中可以有任意多个Column组成,即Column Family支持动态扩展,无需预先定义Column的数量以及类型,所有Column均以二进制格式存储,用户需要自行进行类型转换。,HBASE,基础知识,物理存储,Table,在行的方向上分割为多个,HRegion,,一个,region,由,startkey,endkey),表示,每个,HRegion,分散在不同的,RegionServer,中,参数,HBASE,基础知识,架构体系,Client 包含访问hbase 的接口,client 维护着一些cache 来加快对hbase 的访问,比如regione 的位置信息,Zookeeper,保证任何时候,集群中只有一个running master,存贮所有Region 的寻址入口,实时监控Region Server 的状态,将Region server 的上线和下线信息,实时通知给Master,存储Hbase 的schema,包括有哪些table,每个table 有哪些column family,Master 可以启动多个HMaster,通过Zookeeper的Master Election机制保证总有一个Master运行,为Region server 分配region,负责region server 的负载均衡,调整,Region,分布,管理用户对,table,的,CRUD,操作,在,regionserver,停机后负责失效的,regionserver,上的,region,迁移,HBASE,基础知识,HBASE,基础知识,架构体系,Region Server,维护Master 分配给它的region,处理对这些region 的IO 请求,负责切分在运行过程中变得过大的region,可以看出,client 访问hbase 上数据的过程并不需要master 参与,寻址访问zookeeper 和region server,数据读写访问regioneserver。HRegionServer主要负责响应用户I/O请求,向HDFS文件系统中读写数据,是HBase中最核心的模块。,HBASE,基础知识,HBase,中有两张特殊的,Table,,,-ROOT-,和,.META.,.META,.,:记录了用户表的,Region,信息,,.META.,可以有多个,regoin,-ROOT-,:记录了,.META.,表的,Region,信息,,-ROOT-,只有一个,region,Zookeeper,中记录了,-ROOT-,表的,location,Client,访问用户数据之前需要首先访问,zookeeper,,然后访问,-ROOT-,表,接着访问,.META.,表,最后才能找到用户数据的位置去访问,系统架构,HBASE,与相关软件,hadoop.,2.2,hbase-0.,98-hadoop2,.tar.gz,JDK,7,前提条件:本机或集群环境下hadoop.,2.2,已经安装成功,HBASE Shell,hbase,提供了一个,shell,的终端给用户交互,名称,命令表达式,创建表,create,表名称,列族名称1,列族名称2,列族名称N,添加记录,put,表名称,行名称,列名称,:,值,查看记录,get,表名称,行名称,查看表中的记录总数,count,表名称,删除记录,delete,表名,行名称,列名称,删除一张表,先要屏蔽该表,才能对该表进行删除,第一步,disable,表名称,第二步,drop,表名称,查看所有记录,scan,表名称,查看某个表某个列中所有数据,scan,表名称,COLUMNS=列族名称:列名称,更新记录,就是重写一遍进行覆盖,#$HBASE_HOME/bin/hbase shell,HBASE Shell,的,DDL,操作,创建表,create users,user_id,address,info,表,users,有三个列族,user_id,address,info,列出全部表,list,得到表的描述,describe users,创建表,create users_tmp,user_id,address,info,删除表,disable users_tmp,drop users_tmp,#$HBASE_HOME/bin/hbase shell,quit,exists users,is_enabled users,is_disabled users,HBASE Shell,的,DML,操作,添加记录,获取一条记录,1.,取得一个,id,的所有数据,get users,xiaoming,2.,获取一个,id,,一个列族的所有数据,get users,xiaoming,info,3.,获取一个,id,,一个列族中一个列的,所有数据,get users,xiaoming,info:age,put users,xiaoming,info:age,24;,put users,xiaoming,info:birthday,1987-06-17;,put users,xiaoming,info:company,alibaba;,put users,xiaoming,address:contry,china;,put users,xiaoming,address:province,zhejiang;,put users,xiaoming,address:city,hangzhou;,put users,zhangyifei,info:birthday,1987-4-17;,put users,zhangyifei,info:favorite,movie;,put users,zhangyifei,info:company,alibaba;,put users,zhangyifei,address:contry,china;,put users,zhangyifei,address:province,guangdong;,put users,zhangyifei,address:city,jieyang;,put users,zhangyifei,address:town,xianqiao;,HBASE Shell,的,DML,操作,更新记录,put users,xiaoming,info:age,29,get users,xiaoming,info:age,put users,xiaoming,info:age,30,get users,xiaoming,info:age,获取单元格数据的版本数据,get users,xiaoming,COLUMN=info:age,VERSIONS=1,get users,xiaoming,COLUMN=info:age,VERSIONS=2,get users,xiaoming,COLUMN=info:age,VERSIONS=3,获取单元格数据的某个版本数据,全表扫描,scan users,HBASE Shell,的,DML,操作,删除,xiaoming,值的,info:age,字段,delete users,xiaoming,info:age,get users,xiaoming,删除整行,deleteall users,xiaoming,统计表的行数,count users,清空表,truncate users,HBASE,的,Java_API,(一),/hbase操作必备,private static Configuration getConfiguration(),Configuration conf=HBaseConfiguration.create();,conf.set(hbase.rootdir,hdfs:/hadoop0:9000/hbase);,/使用eclipse时必须添加这个,否则无法定位,conf.set(hbase.zookeeper.quorum,hadoop0);,return conf;,HBASE,的,Java_API,(二),/,创建一张表,public static void create(String tableName,String columnFamily)throws IOException,HBaseAdmin admin=new HBaseAdmin(getConfiguration();,if(,admin.tableExists(tableName),),System.out.println(table exists!);,else,HTableDescriptor tableDesc=new HTableDescriptor(tableName);,tableDesc.addFamily(ne
展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 图纸专区 > 课件教案


copyright@ 2023-2025  zhuangpeitu.com 装配图网版权所有   联系电话:18123376007

备案号:ICP2024067431-1 川公网安备51140202000466号


本站为文档C2C交易模式,即用户上传的文档直接被用户下载,本站只是中间服务平台,本站所有文档下载所得的收益归上传人(含作者)所有。装配图网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。若文档所含内容侵犯了您的版权或隐私,请立即通知装配图网,我们立即给予删除!