博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
HBASE基础命令
阅读量:4160 次
发布时间:2019-05-26

本文共 3771 字,大约阅读时间需要 12 分钟。

三.基本命令1.命名空间--区分大小写(1)创建命名空间  create_namespace 'hadoop'创建一个命名空间,并且指定属性create_namespace 'ns1', {‘key1'=>'value2’}注意:1)hbase中没有进入到某一个namespace概念,操作表格,一律带上namespace名称,否则就默认从default这个namespace中找;      2)赋值符号是:=>(2)列举命名空间list_namespace(3)查看命名空间(describe_namespace)describe_namespace 'hadoop'(4)修改命名空间(alter_namespace)①添加和修改To add/modify a property:  hbase> alter_namespace 'ns1', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}alter_namespace 'ns1', {METHOD => 'set', 'key1' => 'VALUE2'}②删除To delete a property:  hbase> alter_namespace 'ns1', {METHOD => 'unset', NAME=>'PROPERTY_NAME'}alter_namespace 'ns1', {METHOD => 'unset', NAME=>'key2'}(5)删除命名空间(drop_namespace )Drop the named namespace. The namespace must be empty.drop_namespace 'ns1'(6)列出命名空间下的表 (list_namespace_tables)list_namespace_tables ‘ns1’四.表的操作 Group name: ddl  Commands: alter, alter_async, alter_status, create, describe, disable, disable_all, drop, drop_all, enable, enable_all, exists, get_table, is_disabled, is_enabled, list, locate_region, show_filters1.create  a.创建到指定命名空间下,指定表名,和至少一个列族,如果不知道命名空间,就是在default创建表create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}create 't1', {NAME => 'f1', VERSIONS => 5}, METADATA => { 'mykey' => 'myvalue' }create 'hadoop:t2',{NAME=>'f1',VERSIONS=>5}hadoop :命名空间t2:表名NAME:列族名称VERSIONS:版本号2.describedesc 'hadoop:t2'主要看列族信息{NAME => 'f1', BLOOMFILTER => 'ROW',  布隆过滤器 ROW, ROWCOL,NONEVERSIONS => '5', 指定版本IN_MEMORY => 'false',该列族下数据缓冲是否放到内存DATA_BLOCK_ENCODING => 'NONE',指定压缩格式BLOCKCACHE => 'true',缓冲是否打开 BLOCKSIZE => '65536', 缓冲大小TTL => 'FOREVER' 超时设置,如果在规定时间内,没有对表进行操作,那么该列族下的数据会自动情空3.list查看所有命名空间下的表4.alter 修改表属性,列族属性的修改,如果对应的列族没有,就添加 hbase-site.xml
hbase.online.schema.update.enable
false
当创建表格的时候,默认是开启状态,可以直接修改表的属性;如设置为false,修改一个表的属性,会报错,需要先关掉,disable ‘hadoop:t2’,再修改修改(如果没有就增加):alter 't1', {NAME => 'f2', IN_MEMORY => true}, {NAME => 'f3', VERSIONS => 5}alter ‘hadoop:t2’ ,NAME=>’f1’,VERSIONS=>3删除(至少要保证有一个列族存在): hbase> alter 'ns1:t1', NAME => 'f1', METHOD => 'delete' hbase> alter 'ns1:t1', 'delete' => 'f1'alter_async:异步修改表的属性异步修改了列族的属性,不需要等待所有region都完成5.表状态指令disable:关闭表,可以修改表的属性,无法往表插入数据,也无法查询enable:开启表,不能修改表属性,可以执行增删改查is_enable:判断表是否处于开启状态is_disabled:判断是否是关闭状态6.drop 删除表(必须关闭才可以删除)7.get_table获取表的对象,方便对该表操作 hadoop_t4 = get_table 'hadoop:t4' 原来的操作 disable 'hadoop:t4’ drop 'hadoop:t4’ 使用get_table操作 hadoop_t4.disable hadoop_t4.drop五.dml操作Commands: append, count, delete, deleteall, get, get_counter, get_splits, incr, put, scan, truncate, truncate_preserve1.put 插入一个单元格put 'ns1:t1', 'r1', 'cf:c1', 'value'ns1:命名空间 t1:表格r1:行cf:列族c1:列时间戳有hbase自动添加,用于管理单元格多版本hbase插入数据一次只能一个单元格2.scan 全表查询,可以获取多行结果 全表扫描 scan 'hbase:human' 全表扫描 查找指定的列 scan 'hadoop:human', {COLUMNS => 'info'} 全表扫描,指定行数 限制5行 scan 'hadoop:human', { LIMIT => 5, STARTROW => '10'} 全表扫描,从STARTROW开始(包含),到STOPROW结束(不包含) scan 'hadoop:human', { STARTROW => '10', STOPROW=>'8'} 全表扫描,以倒序显示 scan 'hadoop:human', {REVERSED => true}3.get (1)查询一行get 'hadoop:t1',1(2)查询一行下的列:get 'hadoop:t1',1, {COLUMN =>'f1:id'}(3)查询一个列族:get 'hadoop:t1',1, {COLUMN =>'f1'}(4)查询多列:get 'hadoop:t1',1, {COLUMN =>['f1:id','f1:name']}(5)查看某个列所有版本的数据:get 'hadoop:t1',1, {COLUMN =>'f1:id',VERSIONS =>2 }如果VERSIONS 超过设置,把最老的数据删除(6)根据时间戳查:get 'hadoop:t1',1, {COLUMN =>'f1:id',TIMESTAMP =>1547019748265 }(7)根据时间戳范围查:get 'hadoop:t1',1, {COLUMN => 'f1:id',TIMERANGE=>[1447019748269,1947019778265],VERSIONS=>3 }注意: a.时间戳范围包含左边,但是不包含右边数据 b.VERSIONS 将影响查询最终的输出结果. 4.delete 删除一个单元格 没有指定时间戳,就是删除最新的单元格 delete 'hadoop:human', '1', 'info:name' 指定时间戳版本删除 delete 'hadoop:human', '1', 'info:name', 1547023471388 5.deleteall 删除整行数据 deleteall 'hadoop:human', '1' 删除该单元格所有版本 deleteall 'hadoop:human', 1, 'info:name'

 

转载地址:http://trjxi.baihongyu.com/

你可能感兴趣的文章
无线网络加密方式对比 .
查看>>
linux中cat命令使用详解
查看>>
Static 作用详述
查看>>
透析ICMP协议(三): 牛刀初试之一 应用篇ping(ICMP.dll)
查看>>
透析ICMP协议(四): 牛刀初试之二 应用篇ping(RAW Socket)
查看>>
再次写给我们这些浮躁的程序员
查看>>
Linux下重要日志文件及查看方式(1)
查看>>
Linux下重要日志文件及查看方式(2)
查看>>
Ubuntu系统root用户密码找回方法
查看>>
Linux驱动程序中比较重要的宏
查看>>
芯片驱动问题定位思路总结之一单板重启的问题
查看>>
S3C2440看门狗定时器
查看>>
LDD3源码分析之llseek分析
查看>>
linux read 用法
查看>>
LDD3源码分析之llseek分析(二)
查看>>
printk及控制台的日志级别
查看>>
Linux驱动加载实例
查看>>
详解数据库设计中的三大范式理论
查看>>
JDBCUtils工具类
查看>>
Linux基本命令(1)
查看>>