【实验目的】

1)学会向表中添加记录

2)学会添加记录时动态添加列

3)学会查看一条记录

4)学会查看表中的记录总数

5)学会删除记录

【实验原理】

Hbase shell作为Hbase数据的客户端,可以连接hbase,通过命令行方式和hbase进行交互。

Hbase shell是一个封装了Java客户端API的JRuby应用软件。

在终端中执行hbase shell命令启动Shell,即可操作hbase。

Shell可以支持命令自动补全和命令文档内联访问。

【实验环境】

本次环境是:centos6.5+jdk1.7.0_79+hbase0.96+hbase shell

host01是计算机名称对应ip地址为 192.168.1.2,可以在/etc/hosts文件中查看映射关系

【实验步骤】

    一 、项目准备阶段

1.1  通过命令start-all.sh启动hadoop,启动hbase。进入$HBASE/bin/目录,执行命令./start-hbase.sh。如图1所示

图1

1.2  启动shell模式。进入$HBASE/bin目录,执行./hbase shell命令。如图2所示

图2

1.3  创建测试表。在命令行中输入create 'people', {NAME =>'info', VERSIONS=>3}, {NAME=>'data', VERSIONS=>1}创建people表。如图3所示

图3

    二、向表中添加记录

2.1  查看插入操作帮助。在命令行中执行help 'put',可以查看相关帮助文档。如图4所示

图4

2.2 向第一个列族的第一个列插入一条记录。

说明:

插入一行数据到列族info的列name中。在命令行中执行put 'people',

'rk0001',   'info:name', 'MaYun'。其中,rk0001为行健值,MaYun

为列族info中字段name的值。如图5所示

图5

2.3 向第一个列族的第二个列插入一条记录。

说明:

插入一行数据到列族info的列gender中。在命令行中执行put 'people'

,'rk0001',   'info:gender', 'male'。其中,rk0001为行健值,male为列

族info中字段gender的值。插入该记录之后,列族info下面将会含有两

个列name和gender。如图6所示

图6

2.4 向第二个列族的第一个列插入一条记录。

说明:

插入一行数据到列族data的列myurl中。在命令行中执行put 'people'

, 'rk0001',   'data:myurl', 'www.yun.alibaba.com/myURL'。其中,

rk0001为行健值,www.yun.alibaba.com/myURL为列族data中字

段myurl的值。如图7所示

图7

2.5 插入第二行数据。

说明:

Hbase中用rowkey来判断数据属于哪一行,上面数据的rowkey为

rk0001,下面将用rk0002做为rowkey来插入第二列数据。插入一

行数据到列族info的列name中。在命令行中执行put 'people' ,

'rk0002',   'info:name', 'LiuChangle'。其中,rk0002为行健值,

LiuChangle为列族info中字段name的值。如图8所示

图8

    三、查看表中一条记录

3.1 已知rowkey值为rk0001,执行语句get ‘people’, ‘rk0001’,查询该rowkey对应的一条记录。如图9所示

图9

    四、查看表中的记录总数

4.1 查询表people中的记录总数。执行语句count ‘people’返回记录数。如图10所示

图10

    五、删除表中的记录

5.1 删除数据之前,首先插入测试数据。如图11所示

测试数据如下:

put 'people' , 'rk0003',  'info:name', 'MaYun2'
    put 'people' , 'rk0003',  'info:gender', 'male'
    put 'people' , 'rk0003',  'data:myurl', 'www.y

un.alibaba.com/myURL2'

图11

5.2 查询上面插入的数据。执行命令get 'people', 'rk0003'。如图12所示

图12

5.3 删除rowkey为rk0003的值的记录。执行命令deleteall 'people','rk0003'。如图13

图13

执行命令get 'people', 'rk0003'查看结果,发现记录数为0,说明删除成功。如图14

图14

云计算与大数据实验:Hbase shell终端操作之数据操作一的更多相关文章

  1. 【大数据】Hbase如何批量删除指定数据

    一.起因: Hbase是一个列式存储,nosql类型的数据库,类似mongodb. 目前似乎没有提供批量删除的方法,只有一个单行删除的命令:deleteall 'tablename', rowkey ...

  2. Hbase Shell命令详解+API操作

    HBase Shell 操作 3.1 基本操作1.进入 HBase 客户端命令行,在hbase-2.1.3目录下 bin/hbase shell 2.查看帮助命令 hbase(main):001:0& ...

  3. 云计算与大数据实验:Hbase shell基本命令操作

    [实验目的] 1)了解hbase服务 2)学会启动和停止服务 3)学会进入hbase shell环境 [实验原理] HBase是一个分布式的.面向列的开源数据库,它利用Hadoop HDFS作为其文件 ...

  4. Hbase记录-Hbase shell使用命令

    1.进入hbase shell  执行./bin/hbase shell 2.进入后,help  帮助信息,如可以使用help 'create' 3.创建表:create 'test','cf'  表 ...

  5. Hbase shell 输入无法使用退格键删除解决办法

    今天在进入hbase shell终端进行数据查询和添加时,发现输入的命令无法撤回,现将解决办法写下: 1.使用Ctrl + Backspace或Shift + Backspace组合键删除 2.(Se ...

  6. 【hbase】——bulk load导入数据时value=\x00\x00\x00\x01问题解析

    一.存入数据类型 Hbase里面,rowkey是按照字典序进行排序.存储的value值,当用filter进行数据筛选的时候,所用的比较算法也是字典序的. 1.当存储的value值是float类型的时候 ...

  7. flink-cdc同步mysql数据到hbase

    本文首发于我的个人博客网站 等待下一个秋-Flink 什么是CDC? CDC是(Change Data Capture 变更数据获取)的简称.核心思想是,监测并捕获数据库的变动(包括数据 或 数据表的 ...

  8. HBase shell 中的十六进制数值表示

    在使用Hbase shell 进行get 或scan操作时,时不时会看到一些数值被转成了16进制, 就像下面那样 value=W\x5C5\x80 那么这个值具体等于多少? 查阅资料后发现算法如下 W ...

  9. 云计算与大数据实验:Hbase shell操作用户表

    [实验目的] 1)了解hbase服务 2)学会hbase shell命令操作用户表 [实验原理] HBase是一个分布式的.面向列的开源数据库,它利用Hadoop HDFS作为其文件存储系统,利用Ha ...

随机推荐

  1. Flutter中极光推送的使用----jpush_flutter

    原文地址:https://www.cnblogs.com/niceyoo/p/11095994.html 1.申请极光账号和建立应用 极光推送的官方网址为:https://www.jiguang.cn ...

  2. promise简单实现

    function isFunction(fn){ return Object.prototype.toString.call(fn) === '[object Function]'; } let ST ...

  3. 转 Oracle 同一个字段的两值进行加减计算

    https://www.cnblogs.com/hjianguo/p/6041617.html 如 病人ID      入院日期                出院日期 00001      2016 ...

  4. tomcat 启动和关闭脚本

    start.sh #!/bin/sh . ~/.bash_profile echo "" > ${TOMCAT_HOME}/logs/catalina.out; sh ${T ...

  5. script的src和img的src跨域的区别

    原理上都是利用标签的src可绕过同源限制,跨域请求的特点, 硬要说不同,那么区别在于:img只能单向发送get请求,不可访问响应内容(只是展现),而script可对其进行解析

  6. 【NPDP笔记】第七章 产品生命周期管理

      7.1产品生命周期管理 7.1.1 产品生命周期简介 阶段 开发 引入 Introduction 成长 Growth 成熟 Maturity 衰退 Decline 生命周期变短 客户有更多需求 竞 ...

  7. QT源码分析:QObject

    QT框架里面最大的特色就是在C++的基础上增加了元对象系统(Meta-Object System),而元对象系统里面最重要的内容就是信号与槽机制,这个机制是在C++语法的基础上实现的,使用了函数.函数 ...

  8. Linux虚拟环境配置(安装python包,连接至jupyter notebook)

    在Linux虚拟环境下安装python包 方法一:使用下载包 由于实验室下载速度较慢,因此采用传输下载包的形式安装包. 首先导入python包至指定文件夹(任意文件夹,记住地址即可)并解压. 进入虚拟 ...

  9. 配置git diff和git merge使用的第三方工具

    一般在运行git merge branchName后,git 如果提示了merger冲突,然后运行git mergetool.Git提示冲突后,运行git mergetool  --tool-help ...

  10. SQL"已更新或者删除的行值要么不能使该行成为唯一行,要么改变了多个行(X行)“解决办法

    这种问题大多是由于没有主键(PK)导致同一张表中存在若干条相同的数据.DBMS存储时,只为其存储一条数据,因为DBMS底层做了优化,以减少数据冗余.所以删除或更新一条重复数据就牵一发而动全身. 解决方 ...