【实验目的】

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. shell基础知识8-xargs命令

    简介 xargs 命令应该紧跟在管道操作符之后.它使用标准输入作为主要的数据源,将从 stdin 中 读取的数据作为指定命令的参数并执行该命令. 将多行输入转换成单行输出 [root@dns-node ...

  2. 设置table表格的单元格间距两种方式

    table表格里设置单元格td之间的间距,通常用cellspacing设置单元格间距,有时候该属性可能无效,或需要用其他方式时,可用其他方式实现,例如在背景是白色背景的时候,设置单元格td的borde ...

  3. linux添加虚拟内存交换内存,以及设置优先使用交换内存

    场景:在网上买了台低配置服务器,1c1g,内存太小了,于是打起了交换内存的注意.上网一查,居然还真可以.以下是具体步骤 首先新建一个交换分区文件夹 dd if=/dev/zero of=/usr/sw ...

  4. SignalR 填坑记

    1.发送文字消息没有问题,如何发送文件消息 SignalR可以将参数序列化和反序列化. 这些参数被序列化的格式叫做Hub 协议, 所以Hub协议就是一种用来序列化和反序列化的格式. Hub协议的默认协 ...

  5. git lfs指令解决git status显示lib文件被修改,但是没有修改的问题。此时,git checkout没有用。

    $ git lfs migrate import --everything --include='*.LIB'https://github.com/git-lfs/git-lfs/issues/283 ...

  6. 【C++】static关键字有哪些用法?其主要作用是什么?

    static关键字的用法: 1)将全局变量修饰为静态全局变量 存储在静态存储区,整个程序运行期间一直存在 静态全局变量在声明它的文件之外是不可见的,只要声明它的文件可见,而普通的全局变量则是所有文件可 ...

  7. [转帖]nginx学习,看这一篇就够了:下载、安装。使用:正向代理、反向代理、负载均衡。常用命令和配置文件

    nginx学习,看这一篇就够了:下载.安装.使用:正向代理.反向代理.负载均衡.常用命令和配置文件 2019-10-09 15:53:47 冯insist 阅读数 7285 文章标签: nginx学习 ...

  8. 10步成为一个优秀的Java开发!

    1.拥有坚实的基础并理解面向对象原则 Java开发人员必须深刻理解面向对象编程.如果没有面向对象编程的坚实基础,就无法感受到像Java这样的面向对象编程语言的美感. 如果你不太了解现象对象编程是什么, ...

  9. js中常见的创建对象的方法(1)

    工厂模式:抽象了创建具体对象的过程 function createPerson(name, age, job){ var obj = new Object(); obj.name = name; ob ...

  10. python教程:用简单的Python编写Web应用程序

    python现在已经成为很多程序员关注的编程语言之一,很多程序员也都开始弄python编程,并且很多时候都会用自己的操作来选择,而现在不管是程序员还是少儿编程,都会有python这门课,今天就和大家分 ...