1. 进入HBase 的控制端(可以在任意一台机器上启动,只要其配置和HMaster 的配置一样): hbase shell

进入后,出现类似下面的提示符:   hbase(main):002:0>

2.  输入 help , 可以列出所有的命令。

得到某个命令的详细用法: help "create"

注: 在 shell 中如果输错不能通过 ’Backspace‘ 撤消,需要同时按 ’Ctrl‘ 才可以

名称 命令表达式
查看存在哪些表 list
创建表 create '表名称', '列簇名称1','列簇名称2','列簇名称3'
添加记录 put '表名称', 'row_key', '列簇名称1:列名称', '值'
查看记录 get '表名称', '行名称'
查看表中的记录总数 count '表名称'
删除记录 delete '表名' ,'行名称' , '列名称'
删除一张表 先要屏蔽该表,才能对该表进行删除,第一步 disable '表名称' 第二步 drop '表名称'
查看所有记录 scan "表名称"
查看某个表某个列中所有数据 scan "表名称" , ['列名称:']
查看表的信息 desc '表名'
更新记录 就是重写一遍进行覆盖

注意: 创建表的时候,可以只指定列簇名称,官方建议最多3个列簇。列名在添加记录的时候可以动态添加。

示例:创建表: create 'tablename', 'columnFamilyName'
   e.g.  create 'student', 'baseinfo'  -- 创建一张名为'student'的表,'baseinfo'是列族名, 一个列族包含多个列

插入数据:  put 'student', 'myrow-1', 'baseinfo:name', 'shj'   --'myrow-1' 是行键,全表唯一
         put 'student', 'myrow-2', 'baseinfo:name', 'Rose'
         put 'student', 'myrow-2', 'baseinfo:age', '18'
        
查询表记录:   scan 'student'
            get 'student', 'myrow-2'
            
删除某单元格:  delete 'student','myrow-2','baseinfo:age'

删除表:   disable 'student'  -- 需要先disable表
        drop 'student'

3. 创建一张表: create 't_student', 'cf1'

从下图中,我们可以看到在 HDFS 上,会在 /hbase/data/default/ (/hbase 是在配置文件里指定的)下面创建一个文件夹。

上面的一长串的字符的文件夹,对应 的就是这个 table 中的一个 Region

4. 点击进入HDFS 中的那个文件夹后,里面有一个 cf1 的文件夹,这是我们创建表时定义的列簇的名称。

5. 在 HBase shell 中往表里插入数据

put 't_student', '007', 'cf1:name', 'bangde'

此时,在 cf1 文件夹下还是看不到数据,因为数据是先存在 MemStore 中的,可以通过下面的命令,使其写到 HDFS

flush 't_student'

6. 再次插入一些数据,然后 flush,会看到 cf1 下会多出文件,而不是修改原来的文件。

7.  运行下面的命令,可以合并多个小文件。

major_compact 't_student'

8. 退出 shell:   exit

9. 查看如下文件中的内容 。直接输入 hbase (bin 目录已加入到环境变量下), 会提示相关的命令。其中有个 hfile 的命令。 输入 hbase hfile,会得到 hfile 这个命令的帮助。最终可以知道查看文件中的记录的命令是:

hbase hfile -f /hbase/data/default/t_student/b38eaa1dec1613777adb6086f22a83af/cf1/ec70debc257743849615b06561b6c389 -p

最新文章

  1. 简易版C语言程序设计语法
  2. beat your own python env
  3. Iterator&Vector应用实例
  4. GetKeyState和GetAsyncKeyState以及GetKeyboardState函数的用法与区别
  5. 帝国cms
  6. TM一句备注讲清楚TCP3次握手
  7. 移动端踩坑之旅-ios下fixed、软键盘相关问题总结
  8. PyTorch教程之Training a classifier
  9. Axure RP一个专业的快速原型设计工具
  10. Redis 概念以及底层数据结构
  11. Game Engine Architecture 10
  12. [cf1038E][欧拉路]
  13. 13-JS中的面向对象
  14. react-router v4 路由规则解析
  15. php内置函数分析之str_pad()
  16. STL_算法_01_查找算法
  17. 20145325张梓靖 《Java程序设计》第6周学习总结
  18. VisualSVN 5.1.4破解
  19. Mac环境下终端(Terminal)用ssh 连接服务器问题 Received disconnect from 120.55.x.x: 2: Too many authentication failures for root
  20. 永远不要去B网(Bittrex.com)

热门文章

  1. form 中Enctype=multipart/form-data 的作用
  2. django1.8.2 建站实现分页显示功能
  3. 验证reg注册表的操作
  4. linux命令学习笔记(39):grep 命令
  5. bzoj 3083 遥远的国度 —— 树链剖分
  6. 【转】mysql查询当天所有数据sql语句
  7. html中插入css和js
  8. 关于使用C# 启动msi失败的问题
  9. 数组排序----Demo
  10. 问题:C#发布的项目浏览时出现“Server Application Unavailable”错误;结果:Server Application Unavailable出现的原因及解决方案小结