Hbase 使用方法
列出所有 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 使用方法的更多相关文章
- HBase多条件及分页查询的一些方法
HBase是Apache Hadoop生态系统中的重要一员,它的海量数据存储能力,超高的数据读写性能,以及优秀的可扩展性使之成为最受欢迎的NoSQL数据库之一.它超强的插入和读取性能与它的数据组织方式 ...
- hbase运行mapreduce设置及基本数据加载方法
hbase与mapreduce集成后,运行mapreduce程序,同时需要mapreduce jar和hbase jar文件的支持,这时我们需要通过特殊设置使任务可以同时读取到hadoop jar和h ...
- HBase应用开发回顾与总结系列之四:HBase配置管理类接口设计
利用Eclipse进行HBase应用开发时,至少需要确定三个配置信息,如下表所示: #hbase config #HMaster服务部署主机及端口号 hbase.master=hdp-wuyong ...
- HBase 的安装与配置
实验简介 本次实验学习和了解 HBase 在不同模式下的配置和安装,以及 HBase 后续的启动和停止等. 一.实验环境说明 1. 环境登录 无需密码自动登录,系统用户名shiyanlou,密码shi ...
- hbase安装配置(整合到hadoop)
hbase安装配置(整合到hadoop) 如果想详细了解hbase的安装:http://abloz.com/hbase/book.html 和官网http://hbase.apache.org/ 1. ...
- hbase+springboot+redis实现分页
实现原理: 1.读取hbase数据每页的数据时多取一条数据.如:分页是10条一页,第一次查询hbase时, 取10+1条数据,然后把第一条和最后一条rowkey数据保存在redis中,redis中的k ...
- 大数据查询——HBase读写设计与实践
导语:本文介绍的项目主要解决 check 和 opinion2 张历史数据表(历史数据是指当业务发生过程中的完整中间流程和结果数据)的在线查询.原实现基于 Oracle 提供存储查询服务,随着数据量的 ...
- HBase读写的几种方式(三)flink篇
1. HBase连接的方式概况 主要分为: 纯Java API读写HBase的方式: Spark读写HBase的方式: Flink读写HBase的方式: HBase通过Phoenix读写的方式: 第一 ...
- [HBase Manual] CH2 Getting Started
Getting Started Getting Started 1. Introduction 2.Quick Start-Strandalone HBase 2.1 JDK版本选择 2.2 Get ...
随机推荐
- 脉冲神经网络及有监督学习算法Tempotron
接下来一段时间开启脉冲神经网络模型的探索之旅.脉冲神经网络有更强的生物学基础,尽可能地模拟生物神经元之间的连接和通信方式.其潜在能力较强,值得踏进一步探索. 构建脉冲神经网络模型,至少需要考虑三点:1 ...
- CoreThink主题开发(七)使用H-ui开发博客主题之新闻资讯正文页面
感谢H-ui.感谢CoreThink! 效果图: 后台发文章有上传附件.封面的功能,但是前台代码中有,不能显示,去除了,前台页面还有社会化分享,百度的,页面也不显示. Blog/Cms/Index/d ...
- 【深度学习】使用opencv在视频上添加文字和标记框
深度学习识别出视频的物体之后,需要在视频上画框标记出来. 接下来介绍如何使用python在视频上画框和文字 #!/usr/bin/env python # -*- coding:utf-8 -*- i ...
- atoi函数的一种实现
atoi函数的使用实例:[Ubuntu环境] main.c: #include <stdio.h> #include <stdlib.h> extern int factori ...
- 系统架构师考试——程序计数器 PC, 指令寄存器IR、状态寄存器SR、通用寄存器GR
● 计算机执行程序时,在一个指令周期的过程中,为了能够从内存中读指令操作码,首先是将__(9)___的内容送到地址总线上. (9)A.程序计数器PC B.指令寄存器IR C.状态寄存器SR ...
- Loadrunder之脚本篇——检查点
VuGen判断脚本是否执行成功是根据服务器返回的状态来确定的,如果服务器返回的是HTTP状态为200 OK,那么VuGen就认为脚本正确地运行了,并且是运行通过的.而大多数系统出错时是不会返回错误页面 ...
- SpringBoot整合集成redis
Redis安装:https://www.cnblogs.com/zwcry/p/9505949.html 1.pom.xml <project xmlns="http://maven. ...
- css异步加载
<link rel="preload" href="mystyles.css" as="style" onload="thi ...
- 8.14比赛j题 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=87813#overview
就我个人来说我觉得这道题其实不用写题解,只是因为做的时候错了一次,如果不是队友细心,我根本会错下去,所以我感觉自己必须强大#include<stdio.h> #include<str ...
- Spring Boot2.0之 整合XXL-Job
参考git上面的 springboot demo 创建maven工程: pom: <project xmlns="http://maven.apache.org/POM/4.0.0&q ...