多易教育17期课堂笔记--Hbase---shell客户端02
免费视频教程 https://www.51doit.com/ 或者联系博主微信 17710299606
1namespace
名称空间 ; 类似于数据库中的database
- alter_namespace 修改
- create_namespace 创建名称空间
- describe_namespace 查看信息
- drop_namespace 删除
- list_namespace 列表
- list_namespace_tables 名称空间下的表
1.1 create_namespace
create_namespace 'doit'
Took 0.6287 seconds
hbase(main):039:0> create_namespace 'doit17' ,{'doit'=>'jingying17'}
Took 0.2727 seconds
hbase(main):040:0> describe_namespace 'doit17'
DESCRIPTION
{NAME => 'doit17', doit => 'jingying17'}
1.2 list_namespace
list_namespace
NAMESPACE
default
doit
hbase
1.3describe_namespace
describe_namespace 'doit'
DESCRIPTION
{NAME => 'doit'}
1.4 drop_namespace
drop_namespace 'doit'
Took 0.3198 seconds
hbase(main):042:0> list_namespace
NAMESPACE
default
doit17
hbase
3 row(s)
Took 0.0270 seconds
1.5 list_namespace_tables
hbase(main):004:0> list_namespace_tables 'default'
TABLE
tb_user
tb_user2
tb_user3
3 row(s)
Took 0.9301 seconds
=> ["tb_user", "tb_user2", "tb_user3"]
hbase(main):005:0> list_namespace_tables 'doit17'
1.6 alter_namespace 修改属性
To add/modify a property:
hbase> alter_namespace 'ns1', {METHOD => 'set', 'PROPERTY_NAME' => 'PROPERTY_VALUE'}
To delete a property:
hbase> alter_namespace 'ns1', {METHOD => 'unset', NAME=>'PROPERTY_NAME'}
1.7 在指定的名称空间下建表
create 'ns:tb_name' ,'cf'
1.8 名称空间对应的目录结构
2 ddl
- alter 修改表
- alter_async
- alter_status
- clone_table_schema 复制表结构
- create 建表
- describe 表详情
- disable 禁用表
- disable_all 禁用多张表
- drop 删除
- drop_all 删除多张
- enable 启用
- enable_all
- exists 判断表是否存在
- get_table 获取表操作对象 t=get_table 'tb_user' scan "tb_user" t.scan
- is_disabled 判断表是否禁用状态
- is_enabled 判断表是否启用状态
- list 列出所有的表
- list_regions 列出表的所有的region信息
- locate_region 查看一行数据在哪个region中
- show_filters 显示系统中所有的过滤器 类似于where查询
2.1 建表
在建表的时候至少指定一个列族 , 多个列族之间使用","隔开
hbase> create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}hbase> # The above in shorthand would be the following:hbase> create 't1', 'f1', 'f2', 'f3'hbase> create 't1', {NAME => 'f1', VERSIONS => 1, TTL => 2592000, BLOCKCACHE => true}hbase> create 't1', {NAME => 'f1', CONFIGURATION => {'hbase.hstore.blockingStoreFiles' => '10'}}hbase> create 't1', {NAME => 'f1', IS_MOB => true, MOB_THRESHOLD => 1000000, MOB_COMPACT_PARTITION_POLICY => 'weekly'}
hbase> create 'ns1:t1', 'f1', SPLITS => ['10', '20', '30', '40']hbase> create 't1', 'f1', SPLITS => ['10', '20', '30', '40']hbase> create 't1', 'f1', SPLITS_FILE => 'splits.txt', OWNER => 'johndoe'hbase> create 't1', {NAME => 'f1', VERSIONS => 5}, METADATA => { 'mykey' => 'myvalue' }
2.1.1 建表多列族
create 'tb_teacher' , 'cf1' , 'cf2'
2.1.2 建表设置列族属性
create 'tb_teacher2' , 'cf1' , {NAME=>'cf2',VERSIONS=>3}
{NAME => 'cf1', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE',
CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLO
OMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN
=> 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}{NAME => 'cf2', VERSIONS => '3', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE',
CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BLO
OMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN
=> 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
2.1.3 使用名称空间
create 'doit17:tb_teacher3' ,'cf'
hbase(main):029:0> list_namespace_tables 'doit17'
TABLE
tb_demo1
tb_teacher3
2.1.4 预分region建表
在例子中 , 表创建好以后在页面上看到每张表只有一个region:
假如当前就有大量的数据进行插入 put , 接收插入请求的RegionServer机器只有一个, 属于插入性的热点问题
create 'tb_split' ,'cf' , SPLITS=>['4','7']
插入三条数据
put 'tb_split' ,'1001' ,'cf:name' ,'zss' 第一个region中put 'tb_split' ,'5001' ,'cf:name' ,'zss' 第二个region中put 'tb_split' ,'8001' ,'cf:name' ,'zss' 第三个region中
hbase(main):039:0> locate_region 'tb_split' , '1001'
HOST REGION
doit02:16020 {ENCODED => 303dd6a85815e3dd16b4fdc0287e5558, NAME => 'tb_split,,1598522431965.303dd6a85815e3dd16
b4fdc0287e5558.', STARTKEY => '', ENDKEY => '4'}
2.2 修改表结构 alter
- 添加列族 alter "tb_user" , NAME=>'cf2' , VERSIONS=>3
- 删除列族 alter "tb_user", "delete"=>"cf"
- 修改列族的属性 alter "tb_user" , NAME=>'cf2' , VERSIONS=>5 将数据版本改成5
2.3 禁用表
将表禁用 , 禁用的表是不能对表数据进行CRUD,但是可以对结构进行操作
hbase> disable 't1'hbase> disable 'ns1:t1'
查看表的状态
hbase(main):017:0> is_disabled "tb_user"
true
Took 0.0199 seconds
=> 1
hbase(main):018:0> is_enabled "tb_user"
false
Took 0.0114 seconds
=> false
2.4 删除表
Drop the named table. Table must first be disabled:
hbase> drop 't1'
hbase> drop 'ns1:t1'
2.5 启用表
hbase> enable 't1'hbase> enable 'ns1:t1'
2.6 list_regions 列出表的所有的region信息
list_regions "tb_split"
2.7 locate_region 查看一行数据在哪个region中
3 dml
append, count, delete, deleteall, get, get_counter, get_splits, incr, put, scan, truncate, truncate_preserve
3.1 append
append "tb_dml" ,"rk001" ,"cf1:name" ,"_np"
在hfile中存储的数据是这个样子
K: rk001/cf1:name/1598581222420/Put/vlen=8/seqid=19 V: mayun_np
进行hfile合并 ,其实append就是put更新操作 ,覆盖原来的数据
major_compact "tb_dml" -- 合并表中的所有的hfile文件 ,这个时候就会剔除put更新前的数据 ,也会删除delete的数据,生成新的hfile文件,病删除老的hfile文件释放存储空间
3.2 count 统计表有多少行数据
hbase(main):062:0> count "tb_dml"
5 row(s)
Took 0.0473 seconds
=> 5
3.3 delete和deleteall
3.4 get
1 获取一行的所有的数据包括所有的列族
hbase(main):064:0> get "tb_dml" ,"rk001"
COLUMN CELL cf1:id timestamp=1598581031869, value=1001 cf1:name timestamp=1598581222420, value=mayun_np cf2:job timestamp=1598581000614, value=spaeker cf2:sal timestamp=1598581001535, value=37.5
2. 获取一行的某些列族的数据
hbase(main):066:0> get "tb_dml" ,"rk001" ,"cf1"
COLUMN CELL cf1:id timestamp=1598581031869, value=1001 cf1:name timestamp=1598581222420, value=mayun_np
1 row(s)
Took 0.0159 seconds
hbase(main):067:0> get "tb_dml" ,"rk001" ,"cf1" ,"cf2"
COLUMN CELL cf1:id timestamp=1598581031869, value=1001 cf1:name timestamp=1598581222420, value=mayun_np cf2:job timestamp=1598581000614, value=spaeker cf2:sal timestamp=1598581001535, value=37.5
3. 获取一行的某个列族的某几个属性值
hbase(main):068:0> get "tb_dml","rk001" ,"cf1:name"
COLUMN CELL cf1:name timestamp=1598581222420, value=mayun_np
1 row(s)
Took 0.0079 seconds
hbase(main):069:0> get "tb_dml","rk001" ,"cf1:name" , "cf1:id"
COLUMN CELL cf1:id timestamp=1598581031869, value=1001 cf1:name timestamp=1598581222420, value=mayun_np
1 row(s)
4 获取多版本数据
hbase(main):088:0> get 'tb_dml',"rk001", {COLUMN => 'cf1:name', VERSIONS => 4}
COLUMN CELL cf1:name timestamp=1598583502370, value=mayun3 cf1:name timestamp=1598583499496, value=mayun2 cf1:name timestamp=1598581222420, value=mayun_np
1 row(s)
3.5 incr和get_counter
hbase(main):096:0> incr "tb_dml" ,"rk001","cf1:age",10
COUNTER VALUE = 12
Took 0.0107 seconds
hbase(main):097:0> get_counter "tb_dml" ,"rk001" ,"cf1:age"
COUNTER VALUE = 12
Took 0.0065 seconds
3.6 get_splits 获取表的切割key
hbase(main):098:0> get_splits "tb_split"
Total number of splits = 3
4
7
3.7 put
3.8 scan
3.9 truncate
hbase(main):099:0> help "truncate"
Disables, drops and recreates the specified table.
truncate_preserve
多易教育17期课堂笔记--Hbase---shell客户端02相关推荐
- ECMAScript渡一教育JavaScript精英课堂笔记 姬成
ECMAScript 一.js浏览器历史 1.web发展史 Mosaic,是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器.于1993年问世 1994年4月,马克.安德森和Silicon Gr ...
- hbase shell命令扩展(转自http://www.netfoucs.com/cuirong1986/article/details/7986900)
也许你还不清楚我在说什么,看一下下面的截图你就明白了: 好吧,如果您感兴趣,可以继续看下去了. hbase是以字节数组的形式存储数据的,当你直接用API或通过hbase 自带的shell端去查询数据时 ...
- AI公开课:19.04.17杨松帆—好未来AI Lab负责人《为人工智能时代打造一个AI老师》课堂笔记以及个人感悟
AI公开课:19.04.17杨松帆-好未来AI Lab负责人<为人工智能时代打造一个AI老师>课堂笔记以及个人感悟 导读 杨松帆,现为好未来教育集团人工智能实验室负责人.曾任FaceThi ...
- 【OCM第17期开班】第17期11g OCM培训将于7月22号晚20点在腾讯课堂开班,第1场考试免费培训!!!...
Oracle 11g ocm第17期将于7月22号晚上20点开班,第1场考试免费培训,包过,题库100%覆盖,提供和考试环境一样的练习和模拟环境. Oracle 11g OCM免费上课培训网上报名连 ...
- AI公开课:19.05.30 瞿炜-新东方AI研究院院长《做懂教育的AI:把未来带进现实》课堂笔记以及个人感悟
AI公开课:19.05.30 瞿炜-新东方AI研究院院长<做懂教育的AI:把未来带进现实>课堂笔记以及个人感悟 导读 瞿炜博士,先后毕业于北京理工大学 .中国科学院大学.美国伊利 ...
- 计算机网络微课堂笔记
计算机网络 计算机网络微课堂 笔记总结 视频地址:https://www.bilibili.com/video/BV1c4411d7jb 文章目录 计算机网络 第一章 概述 1.1 计算机网络在信息时 ...
- 2020.8.4课堂笔记(IO 缓冲流,对象流)
课前复习: 1.什么是io流,如何分类 流向: 输入:InputStream,Reader 输出:OutputStream,Writer 按读取的单元: 字节流:InputStream,OutputS ...
- 什么是条件组合覆盖_物史政组合分析,新高考最终受益者丨选科17期
导读 ,规划 物理历史政治是新高考3+3模式下存在的选科组合,为了给马上面临选科问题的高一.高二考生提供有效帮助,自主选拔在线选科模型解读第17期就来分析一下该组合的学科特性.适合人群.优势劣势.专业 ...
- Linux_01_课堂笔记
Linux-v01天-课堂笔记 学习目标 能够知道什么是Linux系统以及它的应用场景 能够独立完成安装VMware虚拟机和网络配置 能够独立完成安装CentOS以及远程终端SecureCRT 能够熟 ...
最新文章
- Linux自学日记1
- springMVC笔记day01
- 深入JVM虚拟机(四) Java GC收集器
- 前端学习(2505):小游戏设计
- 使用网络TCP搭建一个简单文件下载器
- 数据科学入门与实战:Seaborn002热力图等
- 邮局解决方案 发邮件邮箱使用 系统邮件自动发送 邮件发送提醒 网易免费企业邮 设置自己的域名邮箱
- 【渝粤教育】电大中专Office办公软件_1作业 题库
- java中的各个数据结构区别
- python模拟鼠标拖动滑块_Python中selenium的作用链模拟滑块运动,python,ActionChains,移动...
- 系统集成项目管理工程师14真题解析
- OV5640的初始化
- 【小工具】用js自动生成pdf目录索引
- 1.10全角色FCR,FBR,FHR表
- Ubuntu18.04 安装360 WIFI驱动
- 校园导航系统之用弗洛伊德算法求加权图的最短路径
- 行走在数据库上的行癫(二)
- python周末_python区分节假日、工作日、周末
- MFCC和fbank的区别
- js excel 在线插件 合并单元格 设置单元格样式 编辑工具