HBase shell 基本操作

本贴最后更新于 3002 天前,其中的信息可能已经物是人非

1.hbase的使用

    1)提供了shell 命令行:$ bin/hbase shell

    2)注意在hbase shell命令如果要删除打错的命令,需要按ctrl+删除键才能够删除

    3)每条命令都会向regionserver发送请求


2.hbase中的DDL操作

    1)创建namespace:create_namespace 'nstest'

    2)查看列出namespace:list_namespace

            default 

            hbase

            nstest 

    3)描述namespace:describe_namespace 'nstest'  ,注意:要加上引号,否则无法识别

    4)删除namespace:drop_namespace 'nstest'
    5)表的操作:create 'ns1:t1' 唯一确定一张表

        =>在hbase中表示等于号

        create 'ns1:t1', {NAME => 'f1', VERSIONS => 5}

        f代表列簇,family的意思,创建表至少要指定一个列簇,后面的version代表的是最大能存的版本数,值

        create 't1', {NAME => 'f1'}, {NAME => 'f2'}, {NAME => 'f3'}

        可以指定多个列簇,使用大括号区分,一个括号中定义一个name变量

        创建表:

            create 'nstest:tb1','info'

            指定在某个namespace下面创建表,如果不指定的话就会在默认的default下面创建

            列簇可以增加可以删除,但是名称不能改变

        禁用一张表

            disable 't1'

        删除一张表

            drop 't1'

        注意:删除之前先要禁用要删除的那张表,否则无法删除的


3.hbase中的DML操作

    1)添加数据:put 'ns1:t1', 'r1', 'c1', 'value'

        ns1代表namespace

        t1代表表table

        r1代表rowkey

        c1代表列簇+列合体,唯一决定一个列是列簇+列名

        value代表需要插入的值

    2)插入值

        put 'nstest:tb1','20170326_10001','info:name','leo'

        put 'nstest:tb1','20170326_10001','info:age','18'

        put 'nstest:tb1','20170326_10001','info:sex','male'

    3)timestamp,手动指定,如果不指定就是默认当前插入的时间(时间戳):put 't1', 'r1', 'c1', 'value', ts1


4.hbase几种查询的方式

    1)快速的查询get 'ns1:t1', 'r1'

        指定rowkey:get 'nstest:tb1','20170326_10001'

        指定列簇:get 'nstest:tb1','20170326_10001','info'

        指定某一列:get 'nstest:tb1','20170326_10001','info:name'

    2)全表扫描scan方式,对应关系型数据库中的语句就是select *

        scan 'nstest:tb1'

        scan 'ns1:t1', {COLUMNS => ['c1', 'c2'], LIMIT => 10, STARTROW => 'xyz'}

        STARTROW代表开始的行号

        添加过滤条件查询:scan 'nstest:tb1',{STARTROW => '20170326_10002'}

        注意:大括号中的所有变量名称都必须是大写的,给的值可以不是大写

        scan 'nstest:tb1',{STARTROW => '20170326_10001',STOPROW => '20170326_10003'}

        包含头,不包含尾

        scan条件过滤中的rowkey是模糊匹配的(头的模糊匹配)


5.删除操作

    一般删除都是删除某一列的值,或者加一个timestamp

    delete 'nstest:tb1','20170326_10001','info:name'


        

  • 大数据

    大数据(big data)是指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长率和多样化的信息资产。

    89 引用 • 113 回帖 • 1 关注
  • nstest
    1 引用

相关帖子

欢迎来到这里!

我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。

注册 关于
请输入回帖内容 ...

推荐标签 标签

  • HTML

    HTML5 是 HTML 下一个的主要修订版本,现在仍处于发展阶段。广义论及 HTML5 时,实际指的是包括 HTML、CSS 和 JavaScript 在内的一套技术组合。

    108 引用 • 295 回帖
  • CodeMirror
    2 引用 • 17 回帖 • 166 关注
  • 脑图

    脑图又叫思维导图,是表达发散性思维的有效图形思维工具 ,它简单却又很有效,是一种实用性的思维工具。

    32 引用 • 99 回帖
  • Flutter

    Flutter 是谷歌的移动 UI 框架,可以快速在 iOS 和 Android 上构建高质量的原生用户界面。 Flutter 可以与现有的代码一起工作,它正在被越来越多的开发者和组织使用,并且 Flutter 是完全免费、开源的。

    39 引用 • 92 回帖 • 5 关注
  • Notion

    Notion - The all-in-one workspace for your notes, tasks, wikis, and databases.

    10 引用 • 77 回帖
  • RIP

    愿逝者安息!

    8 引用 • 92 回帖 • 406 关注
  • Sublime

    Sublime Text 是一款可以用来写代码、写文章的文本编辑器。支持代码高亮、自动完成,还支持通过插件进行扩展。

    10 引用 • 5 回帖 • 2 关注
  • C

    C 语言是一门通用计算机编程语言,应用广泛。C 语言的设计目标是提供一种能以简易的方式编译、处理低级存储器、产生少量的机器码以及不需要任何运行环境支持便能运行的编程语言。

    86 引用 • 165 回帖
  • 996
    13 引用 • 200 回帖 • 4 关注
  • Flume

    Flume 是一套分布式的、可靠的,可用于有效地收集、聚合和搬运大量日志数据的服务架构。

    9 引用 • 6 回帖 • 661 关注
  • FFmpeg

    FFmpeg 是一套可以用来记录、转换数字音频、视频,并能将其转化为流的开源计算机程序。

    23 引用 • 32 回帖 • 1 关注
  • 开源

    Open Source, Open Mind, Open Sight, Open Future!

    413 引用 • 3588 回帖
  • 外包

    有空闲时间是接外包好呢还是学习好呢?

    26 引用 • 233 回帖 • 1 关注
  • sts
    2 引用 • 2 回帖 • 243 关注
  • 博客

    记录并分享人生的经历。

    273 引用 • 2388 回帖 • 1 关注
  • LaTeX

    LaTeX(音译“拉泰赫”)是一种基于 ΤΕΧ 的排版系统,由美国计算机学家莱斯利·兰伯特(Leslie Lamport)在 20 世纪 80 年代初期开发,利用这种格式,即使使用者没有排版和程序设计的知识也可以充分发挥由 TeX 所提供的强大功能,能在几天,甚至几小时内生成很多具有书籍质量的印刷品。对于生成复杂表格和数学公式,这一点表现得尤为突出。因此它非常适用于生成高印刷质量的科技和数学类文档。

    12 引用 • 59 回帖 • 3 关注
  • RemNote
    2 引用 • 16 回帖 • 23 关注
  • 游戏

    沉迷游戏伤身,强撸灰飞烟灭。

    187 引用 • 830 回帖
  • TensorFlow

    TensorFlow 是一个采用数据流图(data flow graphs),用于数值计算的开源软件库。节点(Nodes)在图中表示数学操作,图中的线(edges)则表示在节点间相互联系的多维数据数组,即张量(tensor)。

    20 引用 • 19 回帖
  • Hprose

    Hprose 是一款先进的轻量级、跨语言、跨平台、无侵入式、高性能动态远程对象调用引擎库。它不仅简单易用,而且功能强大。你无需专门学习,只需看上几眼,就能用它轻松构建分布式应用系统。

    9 引用 • 17 回帖 • 641 关注
  • 钉钉

    钉钉,专为中国企业打造的免费沟通协同多端平台, 阿里巴巴出品。

    15 引用 • 67 回帖 • 271 关注
  • Angular

    AngularAngularJS 的新版本。

    26 引用 • 66 回帖 • 559 关注
  • 京东

    京东是中国最大的自营式电商企业,2015 年第一季度在中国自营式 B2C 电商市场的占有率为 56.3%。2014 年 5 月,京东在美国纳斯达克证券交易所正式挂牌上市(股票代码:JD),是中国第一个成功赴美上市的大型综合型电商平台,与腾讯、百度等中国互联网巨头共同跻身全球前十大互联网公司排行榜。

    14 引用 • 102 回帖 • 314 关注
  • 友情链接

    确认过眼神后的灵魂连接,站在链在!

    24 引用 • 373 回帖
  • Gitea

    Gitea 是一个开源社区驱动的轻量级代码托管解决方案,后端采用 Go 编写,采用 MIT 许可证。

    5 引用 • 16 回帖
  • Logseq

    Logseq 是一个隐私优先、开源的知识库工具。

    Logseq is a joyful, open-source outliner that works on top of local plain-text Markdown and Org-mode files. Use it to write, organize and share your thoughts, keep your to-do list, and build your own digital garden.

    7 引用 • 69 回帖 • 5 关注
  • Hadoop

    Hadoop 是由 Apache 基金会所开发的一个分布式系统基础架构。用户可以在不了解分布式底层细节的情况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。

    93 引用 • 122 回帖 • 619 关注