列出所有 table

hbase(main):>	list

新增 table

A . 直接增加一個表 t2

hbase(main):>	create 't2'

B . 增加一個擁有 'f1','f2','fn' 為 column family 的表: t1

hbase(main):>	create 't1','f1','f2','fn'

查詢 Table 欄位

hbase(main):> describe 't1'

執行結果參考

hbase(main):> describe 't1'
DESCRIPTION ENABLED
{NAME => 't1', FAMILIES => [{NAME => 'f1', COMPRESSION => 'NONE', VERS true
IONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => '
false', BLOCKCACHE => 'true'}, {NAME => 'f2', COMPRESSION => 'NONE', V
ERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY =
> 'false', BLOCKCACHE => 'true'}, {NAME => 'fn', COMPRESSION => 'NONE'
, VERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMOR
Y => 'false', BLOCKCACHE => 'true'}]}

加入cell-value

需先擁有表 t1 與column-family : f1 並且加入一個 column-quantifier c1

hbase(main):>	put 't1', 'r1', 'f1', 'v1'
hbase(main):> put 't1', 'r1', 'f1:c1', 'v2'
hbase(main):> put 't1', 'r2', 'f2', 'v3'
hbase(main):> put 't1', 'r2', 'f2:c2', 'v4'
Table: 't1'
row-key 'f1' 'f2' 'fn' column-family
* 'c1' * 'c2' * column-quantifier
r1 v1        
  v2      
r2     v3    
      v4  

列出cell-value

A . 列出一列(row)

hbase(main):>	get 't1', 'r1'

執行結果參考

COLUMN                    CELL
f1: timestamp=1285737082689, value=v1
f1:c1 timestamp=1285737085874, value=v2
Table: 't1'
row-key 'f1' 'f2' 'fn' column-family
* 'c1' * 'c2' * column-quantifier
r1 v1        
  v2      
r2     v3    
      v4  

B . 列出一個 cell 的值

hbase(main):>   get 't1', 'r1', {COLUMN => 'f1:c1'}

執行結果參考

COLUMN                       CELL
f1:c1 timestamp=1285737085874, value=v2
Table: 't1'
row-key 'f1' 'f2' 'fn' column-family
* 'c1' * 'c2' * column-quantifier
r1 v1        
  v2      
r2     v3    
      v4  

刪除 cell-value

hbase(main):>	deleteall 't1','r1'

執行結果:會把 row-key 是 'r1' 的所有紀錄。此時資料表 't1' 會變成如下表所示。

hbase(main):> scan 't1'
ROW COLUMN+CELL
r2 column=f2:, timestamp=1285737091644, value=v3
r2 column=f2:c2, timestamp=1285737094157, value=v4
Table: 't1'
row-key 'f1' 'f2' 'fn' column-family
* 'c1' * 'c2' * column-quantifier
           
r2     v3    
      v4  

加入column family

hbase(main):>	disable 't1'
hbase(main):> alter 't1', {NAME => 'f3'}
hbase(main):> enable 't1'

執行結果:多了一個 column-family 'f3' 可以用 describe 指令查詢,結果示意如下表:

hbase(main):021:0> describe 't1'
DESCRIPTION ENABLED
{NAME => 't1', FAMILIES => [{NAME => 'f1', COMPRESSION => 'NONE', VERS true
IONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => '
false', BLOCKCACHE => 'true'}, {NAME => 'f2', COMPRESSION => 'NONE', V
ERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY =
> 'false', BLOCKCACHE => 'true'}, {NAME => 'f3', VERSIONS => '3', COMP
RESSION => 'NONE', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMOR
Y => 'false', BLOCKCACHE => 'true'}, {NAME => 'fn', COMPRESSION => 'NO
NE', VERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_ME
MORY => 'false', BLOCKCACHE => 'true'}]}
Table: 't1'
row-key 'f1' 'f2' 'f3' 'fn' column-family
* 'c1' * 'c2' * * column-quantifier
r2     v3      
      v4    

刪除column family

hbase(main):>	disable 't1'
hbase(main):> alter 't1', {NAME => 'f1', METHOD => 'delete'}
hbase(main):> enable 't1'

執行結果:會移除 column family 為 'f1' 的所有欄位,可用 describe 指令確認,結果如下表所示。

hbase(main):053:0> describe 't1'
DESCRIPTION ENABLED
{NAME => 't1', FAMILIES => [{NAME => 'f2', COMPRESSION => 'NONE', VERS true
IONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY => '
false', BLOCKCACHE => 'true'}, {NAME => 'f3', COMPRESSION => 'NONE', V
ERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMORY =
> 'false', BLOCKCACHE => 'true'}, {NAME => 'fn', COMPRESSION => 'NONE'
, VERSIONS => '3', TTL => '2147483647', BLOCKSIZE => '65536', IN_MEMOR
Y => 'false', BLOCKCACHE => 'true'}]}
1 row(s) in 0.0200 seconds
Table: 't1'
row-key   'f2' 'f3' 'fn' column-family
  * 'c2' * * column-quantifier
r2   v3      
    v4    

節點狀態

hbase(main):>	status

刪除整張table

hbase(main):>	truncate 't1'
  • 執行完 truncate 後,所有 't1' 的內容都會被移除。但此時,下 list 還會有 't1' 這個表格存在。
hbase(main):>	disable 't1'
hbase(main):> drop 't1'
  • 要完整移除 't1' 資料表,必須使用 disable 先將 't1' 停用,再用 drop 指令把 't1' 完全刪除。

转自:http://trac.nchc.org.tw/cloud/wiki/NCHCCloudCourse100929_2_USE

Hbase 使用方法的更多相关文章

  1. HBase多条件及分页查询的一些方法

    HBase是Apache Hadoop生态系统中的重要一员,它的海量数据存储能力,超高的数据读写性能,以及优秀的可扩展性使之成为最受欢迎的NoSQL数据库之一.它超强的插入和读取性能与它的数据组织方式 ...

  2. hbase运行mapreduce设置及基本数据加载方法

    hbase与mapreduce集成后,运行mapreduce程序,同时需要mapreduce jar和hbase jar文件的支持,这时我们需要通过特殊设置使任务可以同时读取到hadoop jar和h ...

  3. HBase应用开发回顾与总结系列之四:HBase配置管理类接口设计

      利用Eclipse进行HBase应用开发时,至少需要确定三个配置信息,如下表所示: #hbase config #HMaster服务部署主机及端口号 hbase.master=hdp-wuyong ...

  4. HBase 的安装与配置

    实验简介 本次实验学习和了解 HBase 在不同模式下的配置和安装,以及 HBase 后续的启动和停止等. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shi ...

  5. hbase安装配置(整合到hadoop)

    hbase安装配置(整合到hadoop) 如果想详细了解hbase的安装:http://abloz.com/hbase/book.html 和官网http://hbase.apache.org/ 1. ...

  6. hbase+springboot+redis实现分页

    实现原理: 1.读取hbase数据每页的数据时多取一条数据.如:分页是10条一页,第一次查询hbase时, 取10+1条数据,然后把第一条和最后一条rowkey数据保存在redis中,redis中的k ...

  7. 大数据查询——HBase读写设计与实践

    导语:本文介绍的项目主要解决 check 和 opinion2 张历史数据表(历史数据是指当业务发生过程中的完整中间流程和结果数据)的在线查询.原实现基于 Oracle 提供存储查询服务,随着数据量的 ...

  8. HBase读写的几种方式(三)flink篇

    1. HBase连接的方式概况 主要分为: 纯Java API读写HBase的方式: Spark读写HBase的方式: Flink读写HBase的方式: HBase通过Phoenix读写的方式: 第一 ...

  9. [HBase Manual] CH2 Getting Started

    Getting Started Getting Started 1. Introduction 2.Quick Start-Strandalone HBase 2.1 JDK版本选择 2.2 Get ...

随机推荐

  1. StringBuffer、StringBuilder

    相信大家都知道StringBuffer.StringBuilder,但是这两个的用法都差不多,到底有什么区别呢,这也是面试的时候问的比较多的一道题,这里我就来说说,这两个的区别结合String来说~ ...

  2. 20170413 F110学习

                  F110 学习: Tcode: F110  自动付款业务, FBZP   维护收付程序设置 FBL1N   供应商行项目 XK03   显示供应商(银行信息维护) F110 ...

  3. Nginx日志格式以及相关配置

    一.Nginx日志格式以及参数说明log_format  main  '$remote_addr - $remote_user [$time_local] "$request" ' ...

  4. ACM解题之(ZOJ 2212) Argus

    题目来源: 点击打开题目 题目翻译: 数据流是实时的,连续的,有序的项目序列.一些例子包括传感器数据,互联网流量,金融代码,在线拍卖以及诸如网络使用日志和电话记录之类的交易日志.同样,对流进行的查询在 ...

  5. 剑指offer 面试12题

    面试12题: 题目:矩阵中的路径 题:请设计一个函数,用来判断在一个矩阵中是否存在一条包含某字符串所有字符的路径.路径可以从矩阵中的任意一个格子开始,每一步可以在矩阵中向左,向右,向上,向下移动一个格 ...

  6. php 数组 高效随机抽取指定条记录的算法

    php使用数组array_rand()函数进行高效随机抽取指定条数的记录,可以随机抽取数据库中的记录,适合进行随机展示和抽奖程序. 该算法主要是利用php的array_rand()函数,下面看一下ar ...

  7. LeetCode:对角线遍历【498】

    LeetCode:对角线遍历[498] 题目描述 给定一个含有 M x N 个元素的矩阵(M 行,N 列),请以对角线遍历的顺序返回这个矩阵中的所有元素,对角线遍历如下图所示. 示例: 输入: [ [ ...

  8. iOS Autolayout 在tableView scrollView 适用 学习

    1  如何自动适应cell的高度 autolayout  里面 使用 systemLayoutSizeFittingSize 方法 (系统通过 已知的完整的Constraints和view的属性来计算 ...

  9. arm64的适配问题,这次真醉了

    写过tableView的童鞋都知道,有必须的两个代理方法要实现,还有几个选择实现的. 必须实现的代理方法: ~设置行数 - (NSInteger)tableView:(UITableView *)ta ...

  10. solr、Lucene、IKAnalyzer这三者关系是怎样的?

    lucene 是开源搜索引擎 solr 是基于 lucene开发的搜索引擎 IK 是中文分词. lucene 不是一个搜索引擎,只是一个基础的文件索引工具包,或者叫“搜索引擎开发包”.不能单独作为程序 ...