当前位置: 首页 > article >正文

HBase Shell

目录

  • 1. HBase常用命令
    • 1.1 create命令
    • 1.2 list命令
    • 1.3 describe命令
    • 1.4 put命令
    • 1.5 get命令
    • 1.6 scan命令
    • 1.7 count命令
    • 1.8 exists命令
    • 1.9 修改表结构
    • 1.10 delete命令
    • 1.11 deleteall命令
    • 1.12 truncate命令
    • 1.13 disable、drop命令
    • 1.14 status命令
    • 1.15 version命令
  • 2. HBase Shell综合示例
    • 2.1 创建表并插入数据
    • 2.2 基本操作实践
  • 3. HBase Shell全部命令
  • 参考

1. HBase常用命令

  HBase为用户提供了一个非常方便的使用方式,称之为HBase Shell。HBase Shell提供了大多数的HBase命令,通过HBase Shell,用户可以方便地创建、删除及修改表,还可以向表中添加数据、列出表中的相关信息。
  HBase Shell的常用命令如下表所示。

名称命令表达式
创建表create '表名称', '列族名称1', '列族名称2', '列族名称3'
添加记录put '表名称', '行键', '列名称:', '值'
查看记录get '表名称', '行键'
查看表中的记录总数count '表名称'
删除记录delete '表名', '行键', '列名称'
删除一张表先要屏蔽该表,才能对该表进行删除,第一步disable '表名称',第二步drop '表名称'
查看所有记录``scan ‘表名称’
查看某个表某个列中的所有数据scan '表名称', {COLUMNS=>'列族名称:列名称'}
更新记录重写一遍进行覆盖

1.1 create命令

  功能:创建表。
  create命令:create '表名称', '列族名称1‘, '列族名称2', '列族名称3',其中表名、列名都要用单引号括起来,并以逗号分割。
在这里插入图片描述

1.2 list命令

  功能:查看当前HBase有哪些表。
在这里插入图片描述

1.3 describe命令

  功能:查看指定表的构造。
  describe命令:describe '表名'。describe可简写为desc。
在这里插入图片描述

1.4 put命令

  功能:向表中插入数据。
  put命令:put '表名', '行键', '列族:列名', '值'
在这里插入图片描述

1.5 get命令

  功能:查看指定表中指定行键或指定列的相关数据。
  命令:get '表名', '行键'get '表名', '行键', '列族:列名'
在这里插入图片描述

1.6 scan命令

  功能:查看指定表或指定列的所有数据。
  命令:scan ‘表名’scan '表名', {COLUMN => '列族:列名'}或scan '表名', {COLUMNS=>'列族'}
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

1.7 count命令

  功能:统计记录条数。
  命令:count '表名'
在这里插入图片描述

1.8 exists命令

  功能:判断表是否存在。
  命令:exists '表名'
在这里插入图片描述

1.9 修改表结构

  先要disable '表名',再对表进行修改,最后要enable '表名'
  下面的命令可以将HBase的scores表course列族改为保存3份历史副本。
在这里插入图片描述

1.10 delete命令

  功能:删除指定表中指定列的数据。
  命令:delete '表名', '行键', '列族:列名'
在这里插入图片描述

1.11 deleteall命令

  功能:删除指定行键的记录。
  命令:deleteall '表名', '行键'
在这里插入图片描述

1.12 truncate命令

  功能:清空表中数据,但保留表结构。
  命令:truncate '表名'
在这里插入图片描述

1.13 disable、drop命令

  功能:先禁用表,然后删除表。
  命令:disable '表名'drop '表名'
在这里插入图片描述

1.14 status命令

  功能:查看HBase运行状态。
  命令:status
在这里插入图片描述

1.15 version命令

  功能:查看HBase的版本信息。
  命令:version
在这里插入图片描述

2. HBase Shell综合示例

2.1 创建表并插入数据

create 'users', 'user_id', 'address', 'info'
put 'users', 'xiaoming', 'info:age', '24'
put 'users', 'xiaoming', 'info:birthday', '1987-06-17'
put 'users', 'xiaoming', 'info:company', 'alibaba'
put 'users', 'xiaoming', 'address:country', 'China'
put 'users', 'xiaoming', 'address:province', 'zhejiang'
put 'users', 'xiaoming', 'address:city', 'hangzhou'
put 'users', 'zhangyifei', 'info:birthday', '1987-4-17'
put 'users', 'zhangyifei', 'info:favorite', 'movie'
put 'users', 'zhangyifei', 'info:company', 'alibaba'
put 'users', 'zhangyifei', 'address:country', 'China'
put 'users', 'zhangyifei', 'address:province', 'guangdong'
put 'users', 'zhangyifei', 'address:city', 'jieyang'
put 'users', 'zhangyifei', 'address:town', 'xianqiao'

在这里插入图片描述
在这里插入图片描述

2.2 基本操作实践

  获取一个行键对应的记录:get 'users', 'xiaoming'
在这里插入图片描述
  获取一个列族对应的记录:get 'users', 'xiaoming', 'info'
在这里插入图片描述
  获取一个列名对应的记录:get 'users', 'xiaoming', 'info:age'
在这里插入图片描述
  在HBase中,数据的插入和更新统一使用put命令。当使用put命令向一个表中的某个列插入数据时,如果该数据原来不存在,则执行插入操作;如果原始数据存在,则执行更新操作。HBase执行更新操作时并不会将原有的数据删除替换,而是直接以一个新的版本号额外将新的数据插入到单元格中,这就意义着HBase允许通过查询将某一个单元格中曾经存在过的所有历史版本数据同一查询出来。

alter 'user', {NAME=>'info', VERSIONS=>3}
put 'users', 'xiaoming', 'info:age', '29'
get 'users', 'xiaoming', 'info:age'
put 'users', 'xiaoming', 'info:age', '30'
get 'users', 'xiaoming', 'info:age'

  从下图中可以两次get命令查看的info:age都是当前最新的数据。
在这里插入图片描述
  获取单元格中不同版本的数据:get 'users', 'xiaoming', {COLUMN=>'info:age', VERSIONS=>3}
在这里插入图片描述
  删除一个行键对应记录中列名的数据:delete 'users', 'xiaoming', 'info:age'
  从下图中可以删除xiaoming对应记录中info:age=30的数据。
在这里插入图片描述
  删除一个行键对应的记录:deleteall 'users', 'xiaoming'
在这里插入图片描述
  统计行数:count 'users'
在这里插入图片描述
  清空表:truncate 'users'
在这里插入图片描述

3. HBase Shell全部命令

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

参考

吴章勇 杨强著 大数据Hadoop3.X分布式处理实战


http://www.kler.cn/a/551293.html

相关文章:

  • 【BUG】Ubuntu|有nvcc,没有nvidia-smi指令,找不到nvidia-driver安装包
  • 机器学习之熵的计算方法及香农信息熵的含义
  • 使用右侧值现象来处理一个word导入登记表的需求
  • 像素绽放PixelBloom(AiPPT.com) 联合创始人蒲世林:创新者的窘境就是新物种的机会
  • 代码随想录day12
  • 【第1章:深度学习概览——1.6 深度学习框架简介与选择建议】
  • DeepSeek-R1本地部署详细指南!(Ollama+Chatbox AI+Open WebUI)
  • 开源赋能,智造未来:Odoo+工业物联网,解锁智能工厂新范式——以真实案例解读制造业数字化转型的降本增效密码
  • DeepSeek教unity------MessagePack-04
  • 零基础学QT、C++(一)安装QT
  • 深入解析 Vue 3 编译宏:揭开 `<script setup>` 的魔法面纱
  • 力扣-二叉树-513 找二叉树左下角的值
  • python学习笔记,python处理 Excel、Word、PPT 以及邮件自动化办公
  • Qt creater 出现“启动程序失败,路径或者权限错误”解决方法
  • gozero实现数据库MySQL单例模式连接
  • Linux探秘坊-------8.进程详解
  • PyTorch入门实战:从零搭建你的第一个神经网络
  • (尚硅谷 Java 学习 B 站大学版)Day17 多态练习
  • 001-监控你的文件-FSWatch-C++开源库108杰
  • 以用户为中心,汽车 HMI 界面设计的创新之道