两篇可以参考的文章,讲的不错

http://www.cnblogs.com/nexiyi/p/hbase_shell.html

(http://blog.iyunv.com/wulantian/article/details/41011297)
  ==============================
hbase web操作

访问地址 http://hmaster:60010,
hmaster的ip配置在$HBASE_HOME/conf/hbase-site.xml中
ip映射成主机名,在env/hosts中配置(在windows系统中的C:\Windows\System32\drivers\etc目录下的hosts文件中配置)

hbase shell 操作:

进入hbase console:hbase shell
help查看基本命令集合
list看库中所有表
status 查看当前运行服务器状态
version 版本号

1)建表

语法:create <table>, {NAME => <family>, VERSIONS => <VERSIONS>}
语句:
hbase(main):004:0> exists 'test'
hbase(main):005:0> create 'test','cf'
hbase> create 't1', {NAME => 'f1', VERSIONS => 5}
hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}
省略模式建立列族
hbase> create 't1', 'f1', 'f2', 'f3'
指定每个列族参数
hbase> create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}
hbase> create 't1', 'f1', {SPLITS => ['10', '20', '30', '40']}
hbase> create 't1', 'f1', {SPLITS_FILE => 'splits.txt'}
hbase> # Optionally pre-split the table into NUMREGIONS, using
hbase> # SPLITALGO ("HexStringSplit", "UniformSplit" or classname)
hbase> create 't1', 'f1', {NUMREGIONS => 15, SPLITALGO => 'HexStringSplit'}
设置不同参数,提升表的读取性能。
create 'lmj_test',
{NAME => 'adn', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROWCOL', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', ENCODE_ON_DISK => 'true', IN_MEMORY => 'false', BLOCKCACHE => 'false'}, 
{NAME => 'fixeddim', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROWCOL', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', ENCODE_ON_DISK => 'true', IN_MEMORY => 'false', BLOCKCACHE => 'false'}, 
{NAME => 'social', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROWCOL', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', ENCODE_ON_DISK => 'true', IN_MEMORY => 'false', BLOCKCACHE => 'false'}
每个参数属性都有性能意义,通过合理化的设置可以提升表的性能
create 'lmj_test',
{NAME => 'adn', BLOOMFILTER => 'ROWCOL', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', COMPRESSION => 'SNAPPY', BLOCKCACHE => 'false'},
{NAME => 'fixeddim',BLOOMFILTER => 'ROWCOL', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', COMPRESSION => 'SNAPPY', BLOCKCACHE => 'false'},
{NAME => 'social',BLOOMFILTER => 'ROWCOL', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0',COMPRESSION => 'SNAPPY', BLOCKCACHE => 'false'}

2)建好表后,查看表结构:describe

得出
{NAME => 'lmj_test', 
FAMILIES => 
[
{NAME => 'adn', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROWCOL', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', ENCODE_ON_DISK => 'true', IN_MEMORY => 'false', BLOCKCACHE => 'false'}, 
{NAME => 'fixeddim', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROWCOL', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', ENCODE_ON_DISK => 'true', IN_MEMORY => 'false', BLOCKCACHE => 'false'}, 
{NAME => 'social', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROWCOL', REPLICATION_SCOPE => '0', COMPRESSION => 'SNAPPY', VERSIONS => '1', TTL => '15768000', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', ENCODE_ON_DISK => 'true', IN_MEMORY => 'false', BLOCKCACHE => 'false'}
]
}

3)清空表:truncate ‘lmj_test’
4)删除表:

分两步,首先disable 'lmj_test',然后drop 'lmj_test'

5)修改表结构:先disable后enable

alter 't1', {NAME => 'f1'}, {NAME => 'f2', METHOD => 'delete'}
例如:修改表test1的cf的TTL为180天
hbase(main)> disable 'test1'
hbase(main)> alter 'test1',{NAME=>'body',TTL=>'15552000'},{NAME=>'meta', TTL=>'15552000'}
hbase(main)> enable 'test1'

6)对表中记录的操作(4种行操作)

put 增加一行
put 't1', 'r1', 'c1', 'value', ts1
put 'lmj_test','00001','adn:adn_3','aaa',1432483200000
put 'lmj_test','00001','fixeddim:appcategory_1','1',1432483200000
put 'lmj_test','00001','fixeddim:interest_15','100',1432483200000
get查询对应数据(可以指定行、列族、列、版本)
get 'lmj_test','000000104257464',{TIMESTAMP=>1432483200000}
delete 删除数据
删除指定行中指定列:
delete <table>, <rowkey>,  <family:column> , <timestamp>(必须指定列名,删除其所有版本数据)
delete 'lmj_test','000000104257464','f1:col1'
删除整行数据(可不指定列名):
deleteall <table>, <rowkey>,  <family:column> , <timestamp>
deleteall 'lmj_test','000000104257464'
scan 扫描全表,指定过滤条件,返回对应行
scan 'lxw_hbase', {LIMIT => 1}
其他条件继续添加在大括号中
以上4个操作类是 org.apache.hadoop.hbase.client的子类,参考官网API查看详细信息
count统计表中记录数
count 'lxw_hbase', {INTERVAL => 100, CACHE => 500}
#每100条显示一次,缓存区为500

7)表操作权限

给用户分配对每个表的操作权限,有RWXCA五种,对应READ, WRITE, EXEC, CREATE, ADMIN
grant 'liu_mja','RW','lxw_hbase'    #分配给用户liu_mja表lxw_hbase的读写权限
还可以 查看权限
user_permission 'lxw_hbase'
收回权限
revoke 'liu_mja','lxw_hbase'

8)命名空间

关系数据库系统中,命名空间namespace是表的逻辑分组,同一组中的表有类似的用途。
以下引自:http://blog.iyunv.com/wulantian/article/details/41011297
hbase的表也有命名空间的管理方式,命名空间的概念为即将到来的多租户特性打下基础:
配额管理( Quota Management (HBASE-8410)):限制一个namespace可以使用的资源,资源包括region和table等; 
命名空间安全管理( Namespace Security Administration (HBASE-9206)):提供了另一个层面的多租户安全管理; 
Region服务器组(Region server groups (HBASE-6721)):一个命名空间或一张表,可以被固定到一组 regionservers上,从而保证了数据隔离性。 
命名空间可以被创建、移除、修改。
建表时可以指定命名空间,格式如下:<namespace>:<table>
#Create a namespace
create_namespace 'my_ns'
#create my_table in my_ns namespace
create 'my_ns:my_table', 'fam'
#drop namespace
drop_namespace 'my_ns'
#alter namespace
alter_namespace 'my_ns', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}
预定义的命名空间:
有两个系统内置的预定义命名空间
hbase   系统命名空间,用于包含hbase的内部表 
default 所有未指定命名空间的表都自动进入该命名空间
使用默认的命名空间
#namespace=default and table qualifier=bar
create 'bar', 'fam'
指定命名空间
#namespace=foo and table qualifier=bar

create 'foo:bar', 'fam'

原文网址:http://www.iyunv.com/thread-130713-1-1.html

hbase命令集(shell 命令,如建表,清空表,增删改查)相关推荐

  1. mysql用创建的用户登陆并修改表格_MySQL 基础学习二:创建一个用户表,并增删改查...

    MySQL 基础学习二:创建一个用户表,并 增删改查 提示:MySQL 命令建议都用大写,因为小写运行时,还是翻译成大写的. 第一步,创建一个用户表 1,打开控制台,进入数据库 C:\Users\Ad ...

  2. MySQL学习总结(2) --- 数据表管理(增删改查)、使用DQL查询数据(SELECT)

    MySQL学习总结(2) - 数据表管理(增删改查).使用DQL查询数据(SELECT) 1. 数据管理(增删改查) 数据库数据管理方法: a.通过SQLyog等管理工具管理数据库数据 b. 通过DM ...

  3. Online Coding开发模式 (通过在线配置实现一个表模型的增删改查功能,无需写任何代码)

    JEECG 智能开发平台. 开发模式由代码生成器转变为Online Coding模式                      (通过在线配置实现一个表模型的增删改查功能,无需一行代码,支持用户自定义 ...

  4. C案例:创建顺序表并进行增删改查操作

    一.顺序表概述 顺序表是在计算机内存中以数组的形式保存的线性表,线性表的顺序存储是指用一组地址连续的存储单元依次存储线性表中的各个元素.使得线性表中在逻辑结构上相邻的数据元素存储在相邻的物理存储单元中 ...

  5. SpringMVC表单数据增删改查简易梳理(含实例代码)

    使用SpringMVC创建表单进行数据的增删改查是javaEE开发的基本功,本人根据自己最近开发的基于jeecms框架的网站平台来梳理数据增删改查的思路. 首先根据所需表单页面设计数据库,定义不同字段 ...

  6. 【Laravel】Laravel-admin后台框架-2创建数据表建立模块增删改查CURD(2)

    前言 前面的操作我们已经能够 安装Laravel-admin 创建数据表并生成模型 修改模型实现按业务写入数据 可以参考之前的文章 [Laravel]Laravel-admin后台框架-2创建数据表建 ...

  7. SAP abap内表分类与增删改查操作

    SAP abap内表分类与增删改查操作 1.内表的分类 1.1.标准表 (standard table ) 系统为该表每一行生成一个院级索引.填表是可以将数据附加在现有行之后,也可以插入到指定的位置, ...

  8. Mysql —— C语言链接mysql数据库,命令行形式(getopt()函数),用户、用户组增删改查(用户组表内有用户控制的策略字段)

    函数说明--getopt(): 函数说明 getopt()用来分析命令行参数.参数argc和argv分别代表参数个数和内容,跟main()函数的命令行参数是一样的. optstring中的指定的内容的 ...

  9. Oracle+jsp+Servlet的员工表的简单增删改查

    1.引入jar包 2.连接数据库(编写连接数据库工具类) JDBCUtils.java package com.demo.utils;import java.sql.Connection; impor ...

  10. MySql表的基本增删改查详解

    目录 创建表create 表中--插入数据--"增" 单行,全列插入 多行插入 插入重复则-更新 插入重复则-替换 插入查询结果 表中--检索数据--"查" 全 ...

最新文章

  1. Android提升篇系列:Android项目代码优化实践
  2. b树与b+树的区别_一文详解 B-树,B+树,B*树
  3. bucket sort sample sort 并行_MOOSE: 实现大规模并行多物理场仿真(二)
  4. 三种嵌入式操作系统的分析与比析
  5. 磁盘管理来安装linux,Linux_在CentOS系统中安装quota来管理磁盘配额,在网络管理的工作中,由于硬 - phpStudy...
  6. patchGAN再次理解【相比于原始D全图输出true/false,patchGAN可以关注更多的区域】
  7. 执行计划级别mysql 2ef,Mysql 层级、执行顺序、执行计划分析
  8. 【codevs1851】越狱,快速幂数学
  9. Microsoft SQL Server Compact 4.0ADO.NET Entity Framework 4.1MVC3
  10. 统计学中RR OR AR HR的区别
  11. 【转】用户空间编写驱动程序
  12. 国内主要Android应用市场包名大全
  13. cf. ConneR and the A.R.C. Markland-N
  14. maya模型导入UE4,如何做到等比导入
  15. html在表格输入文字不显示,Word表格中有部分格子内无法输入文字是怎么回事?...
  16. 逆向爬虫19 Scrapy增量式和分布式
  17. 坚鹏:苏州银行《银行数字化运营之行动篇》课程培训圆满结束
  18. 反射一、反射的基本概念
  19. java int 传引用吗_Java值传递还是引用传递?
  20. 三菱无机房电梯故障代码查询_三菱无机房ELENESSA电梯故障代码表

热门文章

  1. ACP slave interface 学习
  2. 单片机P0口的AD0-7是什么意思
  3. Python模块学习 - openpyxl - 处理 Excel 电子表格
  4. 小米盒子4S 905L成功刷入emuelec系统
  5. ORA-02396:超出最大空闲时间,请重新连接!
  6. Hihocoder 顺子
  7. LaTex中表格常用设置
  8. 分享8个超好用的免费工具/软件/网站(一定有你要的)
  9. 【AI测试】人工智能测试、算法测试整体介绍——第一部分
  10. 罗克韦尔自动化收购MESTECH Services