HBase基础命令

Hbase:node1

 

HBase介绍:

HBase是一种数据库Hadoop数据库,它是一种NoSQL存储系统,专门设计用来快速随机读写大规模数据。它支持几十万行,上百万亿的数据存储.

一、HBase简介
什么是HBase(Hadoop Database)呢?有以下两种常见的说法:
第一,它是一种稀疏的、分布式的、持久化的、多维有序映射,它基于行键(row key)、列键(column key)和时间戳(timestamp)建立索引。
第二,它是一种键值(key value)存储,面向列族的数据库,有时也是一种存储多时间戳版本映射的数据库。
以上两种描述都是对的。但从根本上来说,HBase是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统,是一个可以随机访问的存储和检索数据的平台。大家可以按照需要写入数据,然后再按照需要读取数据。

HBase有如下特点:
第一,它不介意数据类型,允许动态的、灵活的数据模型,并不限制存储的数据的种类。因此,它可以自如地存储结构化和半结构化的数据。
第二,它不用SQL语言,也不强调数据之间的关系。
第三,它不允许跨行的事务,可以在一行的某一列存储一个整数,而在另一行的同一列存储字符串。
第四,它被设计成在一个服务器集群上运行,而不是单台服务器。这意味着一种强大的、可扩展的数据的使用方式。
从HBase的特点可以看出,HBase的设计与目标都与传统的关系型数据库不同。

在已成功安装并正常启动HBase的前提下,我们可以使用HBase Shell,通过命令行方式与HBase进行交互。
1.启动HBase Shell
转到HBase解压包的“bin”目录下,使用命令“./hbase shell”或“sh hbase shell”命令即可启动HBase Shell。启动之后的信息如下:

hbase(main):001:0>

二、HBase的基本操作

 

1,输入“list”查看HBase中所有的表

2,创建表

  HBase 使用表作为顶级结构来存储数据,写数据到HBase,也就是写数据到表。

如创建一个有一个列族(“cf”)的表,“mytable ”:

Create ‘mytable’, ‘cf’

3,写数据

如向表里写入“hello hbase”,那么我们就在“mytable” 表的“first”行中的” cf:info”列对应的数据单元中插入“hello hbase”。命令如:

Put ‘mytable’ ,‘first’, ‘cf:info‘,’hello hbase’

Put ‘mytable’ ,‘second’, ‘cf:name’, ‘zhou’

Put ‘mytable’ ,’third’,’cf:nation’,’china’

在使用列的时候,并没有提前定义这些列,也没有定义往每个列中存储的数据类型。因此,HBase是一种无模式的数据库。

4,读数据

HBase有两种方式读取数据:get和 scan。

get方式可以读取一行的数据信息,scan方式可以读取表中所有行的数据信息。

get ‘mytable’, ‘first’

scan ‘mytable’

此命令返回了所有数据,HBase返回行的顺序,是按照行的名字排序的。HBase称为行键。

5,删除表

要想删除一张表, 需要先将其”disable”掉,然后再”drop”掉.

disable ‘mytable’

drop ‘mytable’

 

posted @ 2017-07-31 19:51  cindy_zl  阅读(209)  评论(0编辑  收藏  举报