返回顶部
把博客园图标替换成自己的图标
把博客园图标替换成自己的图标end

Nosql_hbase_apply

启动hbase shell

  • 启动hadoop
    • hadoop/sbin/start-dfs.sh
  • 启动hbase
    • hbase/bin/start-hbase.sh
  • 启动hbase shell
    • hbase shell

关闭hbase shell

  • 关闭hbase shell

    • exit (退出)
  • 关闭hbase

    • hbase/bin/stop-hbase.sh
  • 关闭hadoop

    • hadoop/sbin/stop-dfs.sh

Hbase 表结构

hbase shell 基础操作

  1. 查看Hbase版本号 :version
  2. 查看显示各主节点的状态之后可以加入参数 :status
  3. 显示当前用户名 : whoami

表和列族操作

  • create 创建表
  • alter 修改表结构
  • describe 描述表结构
  • exist 确认表是否存在
  • list 显示所有表名列表
  • disable/enable 禁用解禁一个表
  • disable_all/enable_all 禁用解禁所有表
  • is_disabled 确认表是否被禁用
  • drop/drop_all 删除一个或全部表
  • truncate 禁用、删除并重建一个表
创建表
  • 不指定表参数

create '表名','列族名1'

  • 指定参数

create '表名',{NAME => 列族名,VERSION =>5,BLOCKCACHE =>true}

VERSION =>5 对于同一个cell保留最近五个历史版本

BLOCKCACHE =>true 允许读取数据时进行缓存

  • 注意大括号中的语法,NAME和VERSIONS为参数名不需要用括号引用,符号=>表示赋值
查看表名列表
  • list '表名'
  • exist '表名'
描述表结构

describe '表名'

修改表结构
  • 增加新列族

alter '表名','新增列族名'

alter '表名','已有列族名',{NAME => '新增列族名',IN_MEMORY => true}

  • 列族已存在情况修改参数

alter '表名',{NAME => '已有列族名',IN_MEMORY => true}

  • 删除一个列族,以及其中包含的数据,表中只有一个列族时无法删除

alter '表名','delete'=>'已有列族名'

alter '表名',{NAME =>'已有列族名',METHOD => 'delete'}

  • 删除表 需要先禁用再删除

disable '表名' #禁用

is_disabled '表名' #查看是否禁用完成

drop '表名' #删除表

  • 下列命令可以顺序完成禁用删除表和所有数据,并按原结构重新建立空表,也就是将原有表的所有数据清空

truncate '表名'

数据更新

数据插入

put '表名','行键名称','列族名:列名','cell值/行列对应值',1

  • 第三个参数列族名必须是已经存在的
  • 第五个参数为时间戳或者数据版本号,数值越大表示时间或者版本越新,如果不写系统会自动插入当前时间为时间戳
数据更新
  • 如果put语句中的表名,行键,列族列名相同,cell不同多次输入,不考虑时间戳此时执行的put语句视为数据更新
  • 默认情况下数据发生更新后旧版数据不可见,但是若建表是对列族制定属性'VERSIONS => n',则用户可以查询到同一个cell最新的n个版本,具体代码:如何查看旧版数据
数据删除
  • delete命令 第三个参数里面的列名和第四个参数时间戳都是可选参数

delete '表名','行键名称','列族名:列名',2 #所有时间戳小于等于2的数据都会被删除 ,删除对应列族的行键数据

  • 删除所有列族对应行键的的数据

deleteall '表名','行键名',1 #不需要指定列族和列名

计数器
  • 使用incr命令将cell的数值在原值上加入指定数值

incr '表名','行键名','列族名:列名',10 #每次使用此语句就会让对应数值加10

  • 查看当前计数器的值

get_counter '表名','行键名','列族名:列名'

数据查询

  1. get 根据行键获取一条数据
  2. scan 扫描一个表可以指定行键范围或使用过滤器限定范围
按行键获取数据
  • 必选参数:表名,行键名。可选参数:列族名称,时间戳范围,数据版本数,使用过滤器

get '表名','行键值'

get '表名','行键值',{COLUMN => '列族名',TIMERANGE => [1,3],VERSIONS => 3,FILTER => "过滤器"}

查看旧版数据

get '表名','行键值',{COLUMN => '列族名',VERSIONS => 3}

数据扫描
  • 不指定行键

scan '表名'

  • 指定列族和列名

scan '表名',{COLUMN => '列族名:列名'}

  • 指定输出行数

scan '表名',{LIMIT => 1}

  • 指定时间戳或时间范围

scan '表名',{TIMESTAMP => 1}

scan '表名',{TIMERANGE => [1,3]}

  • 指定行键范围多个限定条件时,中间用逗号隔开表示AND关系

scan '表名',{'STARTROW =>'001',ENDROW => '002'}

  • 使用过滤器

scan '表名',FILTER => "RowFilter(=,'substring:0')"

  • 指定同一个键值返回的最多历史版本数量

scan '表名',{VERSIONS =>1}

行计数
  • 统计完10000行之后再屏幕上显示进度

count '表名',INTERVAL =>10000

posted @ 2021-11-09 17:23  灵小禹  阅读(80)  评论(0)    收藏  举报
Live2D
浏览器标题切换
浏览器标题切换end