zoukankan      html  css  js  c++  java
  • HBase Shell常用的命令

    场景

    HBase在CentOS上分布集群安装:

    https://blog.csdn.net/BADAO_LIUMANG_QIZHI/article/details/119511593

    在上面搭建起来HBase的分布集群环境后,看下HBase Shell的常用命令。

    前面我们已经用到HBase Shell命令:status和exit。HBase shell命令又分为

    几个组,输入:help "cmd",可查看所有分组及其包含的命令,如果需要了解具体命令

    的用法,将参数“cmd”换成具体命令即可,如:help"status"。

    注:

    博客:
    https://blog.csdn.net/badao_liumang_qizhi
    关注公众号
    霸道的程序猿
    获取编程相关电子书、教程推送与免费下载。

    实现

    1、创建表:create

    create '表名称','列名称1','列名称2'

    示例:

    create 'scores','grade','course'

    2、查看所有表:list

    使用list命令可以查看当前HBase数据库中所有表

    list

    3、查看表中所有列族的详细信息:describe

    语法:describe '表名'

    列族描述信息的具体含义

    上面创建scores表的语法为简写,完整写法如下

    create 'scores',{NAME=>'grade',VERSION=>5},{NAME=>'course',VERSION=5}

        对比前面的方式,此命令指定了列族名称及可保存的单元时间版本最大数量。可以

    看出,指定列族参数的格式为:参数名=>参数值,注意赋值符号为“=>”且参数名必

    须大写。如果指定了多个参数,应以逗号分开,最后所有参数以“{}”括起来表示一个

    列族。

    4、添加数据:put

    语法:put '表名称','行键','列键','值'

    示例:

    hbase:013:0> put 'scores','badao','grade:','1'
    Took 0.0305 seconds                                                                                                   
    hbase:014:0> put 'scores','tom','course:art','80'
    Took 0.0178 seconds                                                                                                   
    hbase:015:0> put 'scores','tom','course:math','88'
    Took 0.0406 seconds                                                                                                   
    hbase:016:0> put 'scores','tom','grade','2'
    Took 0.0203 seconds                                                                                                   
    hbase:017:0> put 'scores','badao','course:art','86'
    Took 0.0157 seconds                                                                                                   
    hbase:018:0> put 'scores','badao','course:math','85'
    Took 0.0297 seconds                                                                                                   
    hbase:019:0>

    5、扫描表:scan

    scan用于进行全表单元扫描

    语法:scan'表名称',{COLUMNS=>['列族名1','列族名2'],参数名=>参数值}

    大括号内的内容为扫描条件,如不指定则查询所有的数据

    scan 'scores'

    输出结果显示共2行数据,因为在scan的结果中,将相同行键的所有单元视为一行。

    如果对有些列族不关心,便可指定只查询某个列族。

    scan 'scores',{COLUMNS=>'course'}

    将COLUMNS替换成COLUMN,表示查询某个列键,下面扫描所有行的列键为course:math的单元并使用LIMIT参数限制只输出一个。

    scan 'scores',{COLUMN=>'course:math',LIMIT=>1}

    6、获取数据:get

    get用于获取行的所有单元或者某个指定的单元

    语法:

    get’表名称','行键',{COLUMNS=>[‘列族名','列族名2'],参数名=>参数值}

    get’表名称','行键',{COLUMN=>[‘列键1','列键2'],参数名=>参数值}

    与scan相比多一个行键参数。scan查找的目标是全表的某个列族、列键,而get

    查找的目标是某行的某个列族、列键。

    例如:查找行键为badao的所有单元

    get 'scores','badao'

    例如:查找行键为badao,列键为course:math的单元

    get 'scores','badao',{COLUMN=>'course:math'}

    7、删除数据:delete

    语法:

    delete '表名称','行键','列键'

    deleteall '表名称','行键'

    delete只能删除一个单元,而deleteall能删除一行。

    示例:

    delete 'scores','tom','course:art'

    8、修改表

    使用alter可为表增加或修改列族

    语法:alter '表名称',参数名=>参数值,...

    其中列族名参数NAME必须提供,如果已存在则修改,否则会增加一个列族。

    将scores表的列族course的VERSIONS参数修改为5示例:

    alter 'scores',NAME=>'course',VERSIONS=>'5'

    同时修改或增加多个列族时应以逗号分开,并且每个列族用{}括起来。

    示例:

    alter 'scores',{NAME=>'grade',VERSIONS=>'5'},{NAME='course',VERSIONS= >'5'}

    9、删除表:drop

    HBase表分为两种状态:ENABLED和DISABLED,分别表示是否可用。

    使用disable将表置为不可用状态

    disable 'scores'

    使用enable将表置为可用状态

    enable 'scores'

    当表为ENABLED状态时,会被禁止删除。所以必须先将表置为DISABLED状态才可被删除。

    博客园: https://www.cnblogs.com/badaoliumangqizhi/ 关注公众号 霸道的程序猿 获取编程相关电子书、教程推送与免费下载。
  • 相关阅读:
    04.Spark的核心组件
    02.Spark 标签生成(Java和Scala的两种实现)
    01.Spark(spark shell实现word count)
    Scala--尾递归--泛型--类型上下限界定--多重界定--视图界定--型变(协变--逆变)--隐式转换--SAM
    01.安装JDK配置环境变量
    Scala模式匹配--样例类--密封样例类--偏函数
    00.Spark--安装Spark
    Scala知识点总结(上半部分)
    01. Java的经典排序--选择排序--冒泡排序--折半查找(二分查找)
    2019-2020学年 20191327《信息安全专业导论》第五周学习总结
  • 原文地址:https://www.cnblogs.com/badaoliumangqizhi/p/15115353.html
Copyright © 2011-2022 走看看