免费视频教程 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

  1. 添加列族   alter "tb_user" , NAME=>'cf2' , VERSIONS=>3
  2. 删除列族   alter "tb_user", "delete"=>"cf"
  3. 修改列族的属性  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相关推荐

  1. ECMAScript渡一教育JavaScript精英课堂笔记 姬成

    ECMAScript 一.js浏览器历史 1.web发展史 Mosaic,是互联网历史上第一个获普遍使用和能够显示图片的网页浏览器.于1993年问世 1994年4月,马克.安德森和Silicon Gr ...

  2. hbase shell命令扩展(转自http://www.netfoucs.com/cuirong1986/article/details/7986900)

    也许你还不清楚我在说什么,看一下下面的截图你就明白了: 好吧,如果您感兴趣,可以继续看下去了. hbase是以字节数组的形式存储数据的,当你直接用API或通过hbase 自带的shell端去查询数据时 ...

  3. AI公开课:19.04.17杨松帆—好未来AI Lab负责人《为人工智能时代打造一个AI老师》课堂笔记以及个人感悟

    AI公开课:19.04.17杨松帆-好未来AI Lab负责人<为人工智能时代打造一个AI老师>课堂笔记以及个人感悟 导读 杨松帆,现为好未来教育集团人工智能实验室负责人.曾任FaceThi ...

  4. 【OCM第17期开班】第17期11g OCM培训将于7月22号晚20点在腾讯课堂开班,第1场考试免费培训!!!...

    Oracle 11g ocm第17期将于7月22号晚上20点开班,第1场考试免费培训,包过,题库100%覆盖,提供和考试环境一样的练习和模拟环境. Oracle  11g OCM免费上课培训网上报名连 ...

  5. AI公开课:19.05.30 瞿炜-新东方AI研究院院长《做懂教育的AI:把未来带进现实》课堂笔记以及个人感悟

    AI公开课:19.05.30 瞿炜-新东方AI研究院院长<做懂教育的AI:把未来带进现实>课堂笔记以及个人感悟 导读      瞿炜博士,先后毕业于北京理工大学 .中国科学院大学.美国伊利 ...

  6. 计算机网络微课堂笔记

    计算机网络 计算机网络微课堂 笔记总结 视频地址:https://www.bilibili.com/video/BV1c4411d7jb 文章目录 计算机网络 第一章 概述 1.1 计算机网络在信息时 ...

  7. 2020.8.4课堂笔记(IO 缓冲流,对象流)

    课前复习: 1.什么是io流,如何分类 流向: 输入:InputStream,Reader 输出:OutputStream,Writer 按读取的单元: 字节流:InputStream,OutputS ...

  8. 什么是条件组合覆盖_物史政组合分析,新高考最终受益者丨选科17期

    导读 ,规划 物理历史政治是新高考3+3模式下存在的选科组合,为了给马上面临选科问题的高一.高二考生提供有效帮助,自主选拔在线选科模型解读第17期就来分析一下该组合的学科特性.适合人群.优势劣势.专业 ...

  9. Linux_01_课堂笔记

    Linux-v01天-课堂笔记 学习目标 能够知道什么是Linux系统以及它的应用场景 能够独立完成安装VMware虚拟机和网络配置 能够独立完成安装CentOS以及远程终端SecureCRT 能够熟 ...

最新文章

  1. Linux自学日记1
  2. springMVC笔记day01
  3. 深入JVM虚拟机(四) Java GC收集器
  4. 前端学习(2505):小游戏设计
  5. 使用网络TCP搭建一个简单文件下载器
  6. 数据科学入门与实战:Seaborn002热力图等
  7. 邮局解决方案 发邮件邮箱使用 系统邮件自动发送 邮件发送提醒 网易免费企业邮 设置自己的域名邮箱
  8. 【渝粤教育】电大中专Office办公软件_1作业 题库
  9. java中的各个数据结构区别
  10. python模拟鼠标拖动滑块_Python中selenium的作用链模拟滑块运动,python,ActionChains,移动...
  11. 系统集成项目管理工程师14真题解析
  12. OV5640的初始化
  13. 【小工具】用js自动生成pdf目录索引
  14. 1.10全角色FCR,FBR,FHR表
  15. Ubuntu18.04 安装360 WIFI驱动
  16. 校园导航系统之用弗洛伊德算法求加权图的最短路径
  17. 行走在数据库上的行癫(二)
  18. python周末_python区分节假日、工作日、周末
  19. MFCC和fbank的区别
  20. js excel 在线插件 合并单元格 设置单元格样式 编辑工具

热门文章

  1. BT客户端源码分析之八:BT对等连接的建立过程
  2. JAVA的由来:要不要干一杯95年的Java
  3. 1.数据结构与算法相关问题与解决技巧
  4. 头条号如何快速涨100W+粉丝?
  5. python普通类实现接口_python实现头条项目接口自动化测试实战
  6. android屏幕适配的五种方式,价值2000元的学习资源泄露,附答案
  7. 千品网、去哪儿网、大街网、京东商城、惠买商城、wuliwuli面试总结
  8. 去掉iframe滚动条
  9. 如何给iMindMap移动版添加分支
  10. Android仿酷狗SlidingMenuLayout界面实现