
迅鸟快传
国内领先的SaaS级文件传输平台
HBase 是一个开源的 分布式、面向列的 NoSQL 数据库,基于 Google Bigtable 设计,运行在 Hadoop HDFS 之上,是 Apache Hadoop 生态系统 的核心组件之一。它专为 海量结构化数据 的 实时读写、随机访问 而设计,适用于 高吞吐、低延迟 的大数据场景,如 日志分析、用户行为追踪、时序数据存储 等。HBase 的核心优势包括 线性扩展、强一致性和自动分片,被广泛应用于 互联网、金融、物联网 等领域。
术语 | 说明 |
---|---|
表(Table) | 数据逻辑单元(如 user_behavior ) |
行键(RowKey) | 行的唯一标识(如用户ID),按字典序存储 |
列族(Column Family) | 列的集合(如 info 、stats ),物理存储单元 |
单元格(Cell) | 由 RowKey + Column Family + Column + Timestamp 唯一确定 |
Region | 表的分片,分布式存储的基本单位 |
HFile | 底层存储文件(基于 HDFS) |
# 下载解压
wget https://archive.apache.org/dist/hbase/2.5.0/hbase-2.5.0-bin.tar.gz
tar -xzf hbase-2.5.0-bin.tar.gz
cd hbase-2.5.0
# 启动
bin/start-hbase.sh
bin/hbase shell # 进入命令行
# 创建表(含列族)
create 'user', 'info', 'stats'
# 插入数据
put 'user', '1001', 'info:name', 'Alice'
put 'user', '1001', 'stats:visits', '5'
# 查询
get 'user', '1001'
scan 'user', {LIMIT => 10}
Configuration config = HBaseConfiguration.create();
config.set("hbase.zookeeper.quorum", "localhost");
try (Connection conn = ConnectionFactory.createConnection(config);
Table table = conn.getTable(TableName.valueOf("user"))) {
// 插入数据
Put put = new Put(Bytes.toBytes("1002"));
put.addColumn(Bytes.toBytes("info"), Bytes.toBytes("name"), Bytes.toBytes("Bob"));
table.put(put);
// 查询
Get get = new Get(Bytes.toBytes("1002"));
Result result = table.get(get);
System.out.println(Bytes.toString(result.getValue(Bytes.toBytes("info"), Bytes.toBytes("name"))));
}
Put
列表批量写入,减少 RPC 调用本站速览导航提供的Apache HBase都来源于网络,不保证外部链接的准确性和完整性,同时,对于该外部链接的指向,不由速览导航实际控制,在2025年4月1日 下午9:48收录时,该网页上的内容,都属于合规合法,后期网页的内容如出现违规,可以直接联系网站管理员进行删除,速览导航不承担任何责任。