分布式数据库HBase解析.ppt
文本预览下载声明
复 习 4.1 概述 4.2 HBase访问接口 4.3 HBase数据模型 4.4 HBase的实现原理 4.5 HBase运行机制 hbase(main):025:0version 0.90.4, r1150278,Sun Jul 24 15:53:29 PDT 2011 Hbase API ?《Hbase权威指南》第3-5章 ?/apidocs/index.html 4.8.3 HBase常用Java API及应用实例 ③浏览数据 /*获取某单元格数据*/ /** * @param tableName 表名 * @param rowKey 行键 * @param colFamily 列族 * @param col 列限定符 * @throws IOException */ public static void getData(String tableName,String rowKey,String colFamily,String col)throws IOException{ Table table = connection.getTable(TableName.valueOf(tableName)); Get get = new Get(Bytes.toBytes(rowkey)); get.addColumn(Bytes.toBytes(colFamily),Bytes.toBytes(col)); //获取的result数据是结果集,还需要格式化输出想要的数据才行 Result result = table.get(get); System.out.println(new String(result.getValue(colFamily.getBytes(),col==null?null:col.getBytes()))); table.close(); } 4.8.3 HBase常用Java API及应用实例 比如,现在要获取姓名为“zhangsan”在“English”上的数据,就可以在运行上述代码时,指定参数tableName为“student”、rowKey为“zhangsan”、colFamily为“score”、col为“English”。 getData(student, zhangsan, score, English); 上述代码与如下HBase Shell命令等效: get ‘student,zhangsan,{COLUMN=score:English}” 本章小结 HBase数据库的知识。HBase数据库是BigTable的开源实现,和BigTable一样,支持大规模海量数据,分布式并发数据处理效率极高,易于扩展且支持动态伸缩,适用于廉价设备。 HBase可以支持Native Java API、HBase Shell、Thrift Gateway、REST Gateway、Pig、Hive等多种访问接口,可以根据具体应用选择访问方式。 HBase实际上就是一个稀疏、多维、持久化存储的映射表,它采用行键、列键和时间戳进行索引,每个值都是未经解释的字符串。 HBase采用分区存储,一个大的表会被分拆许多个Region,这些Region会被分发到不同的服务器上实现分布式存储。 HBase的系统架构包括客户端、Zookeeper服务器、Master主服务器、Region服务器。客户端包含访问HBase的接口;Zookeeper服务器负责提供稳定可靠的协同服务;Master主服务器主要负责表和Region的管理工作;Region服务器负责维护分配给自己的Region,并响应用户的读写请求。 HBase运行机制和编程实践的知识。 * 图片展示的实例: (1)利用命令create创建表tempTable,表中有f1,f2,f3三个列族 (2)利用list列出Hbase中所有的表信息 * 图片展示的实例: (1)利用put命令向表tempTalble,行r1,列f1:c1中插入数据 (2)利用scan命令浏览表tempTable的相关信息 * 图片展示的实例: 利用get命令获取表tempTable,行r1中单元格分别为“f1:c1”,“f1:c3”的数据 * 图片展示的实例: (1)利用disable命令使表tempTable无效 (2)利用drop命令删除表tempTable (3)利用list命令展示删除表tempTable后的效果 * * * ?客户端首先访问Master节点,获取交互的Chunk Serv
显示全部