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

HBase Shell里表操作实战

文章目录

  • 1. 实战概述
  • 2. 实战步骤
    • 2.1 创建表
      • 2.1.1 创建学生表
      • 2.1.2 创建教师表
    • 2.2 显示全部表名
    • 2.3 显示表结构
    • 2.4 写入数据
    • 2.5 扫描全表
    • 2.6 查询数据
      • 2.6.1 按行键查询
      • 2.6.2 按行键与列族查询
      • 2.6.3 按行键与列查询
    • 2.7 修改数据
    • 2.8 删除数据
      • 2.8.1 删除单元格数据
      • 2.8.2 删除记录行数据
    • 2.9 删除学生表表
  • 3. 实战总结

1. 实战概述

  • 本实战基于 HBase 2.6.3(运行于 JDK 17),完整演示了从启动集群、创建表、写入与查询数据,到修改、删除及最终删除表的全流程操作,涵盖了 HBase Shell 的核心命令,验证了 HBase 作为分布式列式数据库的基本功能与使用方法。

2. 实战步骤

  • 启动ZooKeeper和HDFS之后,执行命令:start-hbase.sh
    在这里插入图片描述
  • 执行命令:hbase shell,进入HBase交互式环境
    在这里插入图片描述

2.1 创建表

2.1.1 创建学生表

  • 执行命令:create 'student','info','score','hobby'
    在这里插入图片描述

2.1.2 创建教师表

  • 执行命令:create 'teacher','info','salary','hobby'
    在这里插入图片描述

2.2 显示全部表名

  • 执行命令:list,列表显示当前数据库里全部表名
    在这里插入图片描述

2.3 显示表结构

  • 执行命令:describe 'student',显示表结构
    在这里插入图片描述

2.4 写入数据

  • 格式:put 表名, 行键, 列族:列, 值

  • 添加student表行键为20210101的数据

    put 'student', '20210101', 'info:name', 'Mike'
    put 'student', '20210101', 'info:gender', 'male'
    put 'student', '20210101', 'info:age', '19'
    put 'student', '20210101', 'score:chinese', '89'
    put 'student', '20210101', 'score:math', '90'
    put 'student', '20210101', 'score:english', '78'
    put 'student', '20210101', 'hobby:flower', 'lotus'
    put 'student', '20210101', 'hobby:book', 'Big Data'
    

    在这里插入图片描述

  • 添加student表行键为20210102的数据

    put 'student', '20210102', 'info:name', 'Lisa'
    put 'student', '20210102', 'info:gender', 'female'
    put 'student', '20210102', 'info:age', '19'
    put 'student', '20210102', 'score:chinese', '78'
    put 'student', '20210102', 'score:math', '98'
    put 'student', '20210102', 'score:english', '58'
    put 'student', '20210102', 'hobby:flower', 'peony'
    put 'student', '20210102', 'hobby:book', 'Human History'
    

    在这里插入图片描述

  • 添加student表行键为20210103的数据

    put 'student', '20210103', 'info:name', 'Smith'
    put 'student', '20210103', 'info:gender', 'male'
    put 'student', '20210103', 'score:math', '97'
    put 'student', '20210103', 'hobby:flower', 'rose'
    

    在这里插入图片描述

2.5 扫描全表

  • 执行scan '表名',显示指定表全部记录信息

  • 执行命令:scan 'student' (单元格包含时间戳与值)
    在这里插入图片描述

  • 行键只有3个,设置了值的单元格有20个
    在这里插入图片描述

2.6 查询数据

2.6.1 按行键查询

  • 执行命令:get 'student', '20210102',查询student表行键为20210102的记录
    在这里插入图片描述

2.6.2 按行键与列族查询

  • 执行命令:get 'student', '20210102', 'info',查询student表行键为20210102的记录,只显示info列族
    在这里插入图片描述

2.6.3 按行键与列查询

  • 执行命令:get 'student', '20210102', 'info:name',查询student表行键为20210102的记录,只显示info列族里的name
    在这里插入图片描述

2.7 修改数据

  • 执行命令:put 'student', '20210101', 'info:age', '18',将行键20210101info列族的age19修改为18
    在这里插入图片描述
  • 执行命令:get 'student', '20210101', 'info:age',查询行键20210101info列族的age
    在这里插入图片描述

2.8 删除数据

2.8.1 删除单元格数据

  • 执行命令:delete 'student', '20210103', 'hobby:flower',删除行键为20210103hobby列族的flower
    在这里插入图片描述

  • 执行命令:get 'student', '20210103',查询行键20210103的数据,看是否删除了hobby列族的flower
    在这里插入图片描述

2.8.2 删除记录行数据

  • 执行命令:deleteall 'student', '20210103',删除行键为20210103的记录行
    在这里插入图片描述

  • 此时,执行命令:scan 'student',只有两行记录
    在这里插入图片描述

2.9 删除学生表表

  • 先要用disable命令禁用,然后用drop命令删除表

  • 执行命令:disable 'student',禁用student
    在这里插入图片描述

  • 执行命令:drop 'student',删除student
    在这里插入图片描述

  • 执行命令:list,查看student是否被删除
    在这里插入图片描述

3. 实战总结

  • 本次 HBase 实战成功完成了从环境启动到数据全生命周期管理的完整操作流程。在 HBase 2.6.3(兼容 JDK 17)环境下,通过 start-hbase.sh 启动集群后,使用 HBase Shell 创建了 studentteacher 表,并熟练运用 putgetscan 等命令进行数据写入与多维度查询。同时,验证了数据修改(覆盖写入)、单元格删除(delete)与整行删除(deleteall)的功能,并严格按照“先 disable 再 drop”的规范删除表。整个过程体现了 HBase 面向列存储、稀疏灵活、高可扩展的特性,为后续大数据应用开发奠定了坚实基础。
http://www.dtcms.com/a/581792.html

相关文章:

  • ESP32 FreeRTOS IPC机制全解析
  • 建设银行信用卡卡网站温州微网站制作公司哪家好
  • 虚幻引擎5 GAS开发俯视角RPG游戏 P07-07 激活能力
  • [特殊字符] 常用 Maven 命令
  • 简单的智能数据分析程序
  • 网页制作元素有哪些前端角度实现网站首页加载慢优化
  • C++中的智能指针std::shared_ptr是线程安全的吗?以及它的详细实现原理
  • 网站服务器安装教程视频教程电子商务网站规划
  • 【vsftpd报错】227 Entering Passive Mode,553 Could not create file.
  • 有多少网站可以推广业务那个公司做app
  • 正规的大连网站建设a963中华室内设计官网
  • 中承信安信创软件检测:CMA资质+国家标准双重保障的测试报告
  • #智能CI/CD流水线与AIOps 论坛@AiDD深圳站
  • 医疗AI模型与控制器自动化CI/CD流水线
  • NumPy -数组运算与操作
  • 中美最近军事新闻邯郸网站优化公司
  • windows本机vscode通过ssh免密登录远程linux服务器 git push/pull 免密
  • go语言网站开发教程门户网站是如何做引流的
  • SG-ECAT_S-TCP(EtherCAT 转 ModbusTCP 网关)
  • 分享一些在C++中使用异常处理的最佳实践
  • 物流网站怎么开网络最好的运营商
  • 学习随笔-async和await
  • 祁阳做网站河南工程建设验收公示网
  • PCIe协议分析仪-VIAVI设置抓取ASPM协商过程
  • ThreadLocal 相关知识点
  • OSG新版GLSL语法全解析
  • 智守边界:入侵报警系统的主动防御时代
  • 为什么网站建设起来搜素不到电子商务网站建设考题
  • 济南网站建设是什么合肥seo网络营销推广
  • 【Hot100|4-LeetCode 283. 移动零 】