Get 取数据过程
load and cached (只有第一次访问此rowkey) |
访问(-Root-) 获取zookeeper的host |
访问(-META-)获得regionServer,(-META-包含每个rowkey所在region srver) | |
有缓存时 | 使用StoreFile读取数据 |
Put 存储数据
WAL |
包含Sequence File,HLogKey实例 数据为Sequential number(可让数据Put有序化)和实际数据 |
MemStore |
当MemStore满(由hbase.hregion.menstore.flush.size配置,默认64M) 会起个线程,将数据转移到disk上(hdfs) |
HFile hdfs |
相关推荐
admin.getTable(TableName.valueOf("testAPI")).put(put); ``` 对于批量插入,我们可以读取文件中的数据,然后创建多个`Put`对象并将它们添加到批处理队列中: ```java List<Put> puts = new ArrayList(); ...
Hadoop 上课笔记之 Java 编程和 HBase Hadoop 是一个分布式计算框架,HBase 是基于 Hadoop 的一个分布式数据库系统。下面是 Java 编程和 HBase 相关的知识点: 一、HBase 主要类和接口 1. Admin 类:用于建立...
HBase提供了多种操作命令,如`create`用于创建表,`put`用于插入数据,`scan`用于扫描表,`get`用于获取特定行的数据,`disable`和`drop`分别用于禁用和删除表,`list`用于列出所有表,`exit`用于退出shell。...
2. **插入数据**: 将数据插入到表中,可以通过Put操作指定行键、列族、列限定符和值。 3. **查询数据**: 使用Get操作根据行键获取数据,或Scan操作进行范围查询,还可以通过过滤器进一步筛选结果。 4. **更新与删除...
设计一个笔记表,表中要求有笔记的属性和笔记的内容 在设计这样的表时,可以考虑使用以下列族和列名: - **列族**: `meta` 和 `content` - **列**: `meta:title`、`meta:author`、`content:text` 示例代码如下: ...
3. **读写流程**:HBase的Get和Put操作,以及HBase如何利用内存和磁盘进行高效的读写。 4. **数据分布和分区**:Region的概念,如何根据行键范围分配数据到不同的Region Server,以及Region的分裂和合并。 5. **...
`Put`、`Get`、`Scan`、`Delete`类分别对应写入、读取、扫描和删除操作。 3.3 Region分裂 Region的分裂过程在`HRegionServer`的`splitRegion`方法中实现,当Region大小超过预设阈值时触发。 四、实战应用 4.1 ...
3. `HTable`: 表示与HBase表的连接,通过`HTable.getTableName()`获取表名,`HTable.getTableDescriptor()`获取表的描述符,`HTable.put()`和`HTable.get()`分别用于写入和读取数据。 4. `Put` 和 `Get`: 这两个类...
本资料集合了HBase的相关安装包、笔记及源码,旨在帮助读者深入理解HBase的核心原理和实际操作。 一、HBase简介 HBase是构建在Hadoop分布式文件系统(HDFS)之上的开源NoSQL数据库,它提供了高可靠性、高性能、...
二、HBase基本原理和常用命令 HBase是一个基于Hadoop的分布式NoSQL数据库,提供了高性能的数据存储和检索能力。HBase的基本原理是基于Google的Bigtable论文,使用HDFS作为存储层,提供了高性能的数据存储和检索能力...