HBase 命令简介
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
最新文章
- 简易版C语言程序设计语法
- beat your own python env
- Iterator&;Vector应用实例
- GetKeyState和GetAsyncKeyState以及GetKeyboardState函数的用法与区别
- 帝国cms
- TM一句备注讲清楚TCP3次握手
- 移动端踩坑之旅-ios下fixed、软键盘相关问题总结
- PyTorch教程之Training a classifier
- Axure RP一个专业的快速原型设计工具
- Redis 概念以及底层数据结构
- Game Engine Architecture 10
- [cf1038E][欧拉路]
- 13-JS中的面向对象
- react-router v4 路由规则解析
- php内置函数分析之str_pad()
- STL_算法_01_查找算法
- 20145325张梓靖 《Java程序设计》第6周学习总结
- VisualSVN 5.1.4破解
- Mac环境下终端(Terminal)用ssh 连接服务器问题 Received disconnect from 120.55.x.x: 2: Too many authentication failures for root
- 永远不要去B网(Bittrex.com)
热门文章
- form 中Enctype=multipart/form-data 的作用
- django1.8.2 建站实现分页显示功能
- 验证reg注册表的操作
- linux命令学习笔记(39):grep 命令
- bzoj 3083 遥远的国度 —— 树链剖分
- 【转】mysql查询当天所有数据sql语句
- html中插入css和js
- 关于使用C# 启动msi失败的问题
- 数组排序----Demo
- 问题:C#发布的项目浏览时出现“Server Application Unavailable”错误;结果:Server Application Unavailable出现的原因及解决方案小结