一. 介绍
HBase是一个分布式的、面向列的 开源数据库,源于google的一篇论文《bigtable:一个结构化数据的分布式存储系统》。HBase是Google Bigtable的开源实现,它利用Hadoop HDFS作为其文件存储系统,利用Hadoop MapReduce来处理HBase中的海量数据,利用Zookeeper作为协同服务。
HBase以表的形式存储数据。表有行和列组成。列划分为若干个列族/列簇(column family)。
如上图所示,key1, key2, key3是三条记录的唯一的row key值,column-family1, column-family2, column-family3是三个列族,每个列族下又包括几列。比如 column-family1这个列族下包括两列,名字是column1和column2。t1:abc,t2:gdxdf是由row key1和column-family1-column1唯一确定的一个单元cell。这个cell中有两个数据,abc和gdxdf。两个值的时间戳不 一样,分别是t1,t2, hbase会返回最新时间的值给请求者。
二. 安装
下载HBase最新版本,放到合适的目录,比如/usr/local 或 /opt
之后解压
tar -zxvf hbase-x.y.z tar.gz
三. 命令行操作
进入解压后的目录,开启hbase,启动hbase shell
bin/start-hbase.sh bin/hbase shell
输入 help 可以看到命令分组
部分命令清单
下边分组举例
general操作
查询服务器状态 status
查询hbase版本 version
ddl操作
1. 创建一个表
create 'table1', 'tab1_id', 'tab1_add', 'tab1_info'
2. 列出所有的表
list
3. 获得表的描述
describe "table1"
4. 删除一个列族 disable alter enable
disable 'table1' alter 'table1', {NAME=>'tab1_add', METHOD=>'delete'} enable 'table1'
5. 查看表是否存在
exists 'table2'
6. 判断表是否为‘enable’
is_enabled 'table1'
判断表是否为‘disable’
is_disabled 'table1'
7. 删除一个表
disable 'table1' drop 'table1'
dml操作
1. 插入几条记录
1
2
3
4
5
6
|
put 'member' , 'scutshuxue' , 'info:age' , '24'
put 'member' , 'scutshuxue' , 'info:birthday' , '1987-06-17'
put 'member' , 'scutshuxue' , 'info:company' , 'alibaba'
put 'member' , 'scutshuxue' , 'address:contry' , 'china'
put 'member' , 'scutshuxue' , 'address:province' , 'zhejiang'
put 'member' , 'scutshuxue' , 'address:city' , 'hangzhou'
|
2. 全表扫描 scan
3. 获得数据 get
3.1 获得一行的所有数据
3.2 获得某行,某列族的所有数据
3.3 获得某行,某列族,某列的所有数据
4. 更新一条记录 put(把scutshuxue年龄改为99)
put 'member', 'scutshuxue', 'info:age', 99
5. 删除 delete、 deleteall
5.1 (删除行'scutshuxue', 列族为‘info' 中age的值
delete 'member', 'scutshuxue', 'info:age'
5.2 删除整行
deleteall 'member', 'scutshuxue'
6. 查询表中有多少行
count 'member'
7. 给‘xiaoming’这个id增加'info:age'字段,并使用counter实现递增
incr 'member', 'xiaoming', 'info:age'
8. 将整个表清空
truncate 'member'
tools操作
1. 创建一个表
四. 参考
http://smallwildpig.iteye.com/blog/1705718
http://www.cnblogs.com/kaituorensheng/p/3814925.html
http://blog.csdn.net/scutshuxue/article/details/6988348
相关推荐
从HBase的集群搭建、HBaseshell操作、java编程、架构、原理、涉及的数据结构,并且结合陌陌海量消息存储案例来讲解实战HBase 课程亮点 1,知识体系完备,从小白到大神各阶段读者均能学有所获。 2,生动形象,化繁为...
### HBase Shell 常用命令详解 #### 一、HBase Shell 概述 HBase Shell 是一个基于命令行的工具,用于与HBase进行交互。它提供了一系列丰富的命令来执行基本的数据管理任务,例如创建表、插入数据、查询数据等。...
HBase 为用户提供了一个非常方便的命令行使用方式——HBase Shell。 HBase Shell 提供了大多数的 HBase 命令,通过 HBase Shell,用户可以方便地创建、删除及修改表,还可以向表中添加数据,列出表中的相关信息等。...
2. HBase shell使用(Shell Usage):HBase提供了一个命令行工具——HBase shell,它允许用户直接通过命令行与HBase交互。HBase shell支持一系列的命令,用户可以用来查看表、表结构、数据,执行数据插入、查询、...
同时,HBase还支持使用HBase Shell,这是一个基于JRuby的命令行工具,用户可以通过它直接与HBase交互,进行表管理、数据操作等。 总的来说,"hadoop-2.7.2-hbase-jar.tar.gz"是Hadoop和HBase集成的关键,它包含了...
最后给出了一些简单的操作命令,例如启动Shell、创建和管理表、插入和查询数据等,旨在帮助初学者快速入门HBase。 适合人群:希望利用HBase进行大数据量存储和处理的技术从业者,特别是数据库管理员、大数据工程师及...
在 OS 脚本中使用 HBase Shell**:展示了如何在操作系统级别的脚本中调用HBase shell命令。 - **16. 从命令文件读取 HBase Shell 命令**:解释了如何从外部命令文件读取并执行HBase shell命令。 - **17. 向 Shell ...
随后,文档深入讲解了HBase Shell的基本操作,包括创建表、插入数据、查询数据、删除数据等。此外,还提供了两个实战案例——用户信息存储系统和网页内容存储系统,详细演示了HBase的实际应用场景。最后,文档介绍了...
- **快速开始**:通过简单步骤介绍如何快速搭建和使用 HBase,适合初学者快速上手。 #### 三、HBase 配置 - **基础条件**:运行 HBase 所需的基本环境配置,包括操作系统、硬件要求等。 - **运行模式**:介绍 ...
- **常用工具**: 如HBase Shell、HBase REST Gateway等,简化HBase的操作过程。 ### 结语 通过上述介绍,我们可以看到HBase不仅具备高效的数据存储和处理能力,还与整个Hadoop生态系统紧密结合,为大规模数据处理...
7. **HBase Shell**:除了Java API,HBase还提供了一个命令行工具——Shell,允许用户直接在命令行中执行各种HBase操作,如创建表、查看表、插入数据等。 8. **性能优化**:为了提高性能,可以使用Region Splitting...
HBase还依赖两张特殊的表——`-ROOT-`和`.META.`来存储Region信息,实现快速的数据定位和查询。 总的来说,HBase是应对大数据挑战的关键组件,通过其列式存储、分布式处理和灵活的数据模型,为企业提供了强大的...
- **命令行工具**:讲解了如何使用HBase Shell进行简单的交互式操作。 - **停止集群**:提供了停止HBase集群服务的步骤。 5. **第3章:客户端API基础知识** - **一般注意事项**:指出了使用HBase客户端API时需要...
【大数据实践——HBase深入解析】 HBase,作为Hadoop生态系统中的分布式列式数据库,是为处理大规模数据而设计的。本章节将深入探讨HBase的体系架构、数据模型以及其实现方式,帮助读者理解其核心概念和应用场景。 ...
在本实验报告中,我们将深入探讨大数据技术及其在实际应用中的具体操作,主要涉及四个关键实验:Hadoop分布式环境的搭建、HDFS的shell指令和Java API操作、HBase的shell指令操作以及Java API对HBase的操作。...
《HBase企业应用开发实战》一书聚焦于大数据领域中重要的分布式数据库系统——HBase,它在处理海量数据存储和实时查询方面具有显著优势。本书旨在帮助开发者和数据工程师深入理解HBase的核心概念、架构原理以及在...