【实验目的】

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. [错误解决] Libreoffice转换不成功,直接不做任何操作

    问题描述: Libreoffice在版本5.3.0之前都存在这个问题.现象是:当你运行其中一个LibreOffice的时候,再运行另外一个Libreoffice转换时,将不做任何操作. 解决方案: 如 ...

  2. Redist的主从配置

    Redis的主从复制一般用来在线备份和读写分离,提高服务器的负载能力.主数据库主要进行写操作,而从数据库负责读操作. 主从的配置: 主节点: [root@master ~]# grep -v -E & ...

  3. 使用抓包工具将抓到的接口存放Jmeter中

    1. jmeter工作台新增 HTTP代理服务器.端口设置为:8888 2. 抓包工具上面设置代理服务器地址 3.代理服务器未启动时,抓包工具界面显示无法联网. 4.在Jmeter中点击[启动]HTT ...

  4. 使用pprof调试go程序

    使用pprof调试go程序 pprof可以用来调试go程序,在go中有两个库可以使用,1. net/http/pprof 2. runtime/pprof 方法1 - net/http/pprof 测 ...

  5. 量化编程技术—itertools寻找最优参数

    # -*- coding: utf-8 -*- # @Date: 2017-08-26 # @Original: ''' 在量化数据处理中,经常使用itertools来完成数据的各种排列组合以寻找最优 ...

  6. web基础---->script标签的特殊使用

    今天要讲的就是怎样使用<script>去请求一个servlet,加载一些js资源以及额外的逻辑处理: 目录: JS的引入的几种方式 在script的标签中引入Servlet 动态引入JS的 ...

  7. python/shell代码片段

    查看某模块路径 Bash pip show --files selenium 文件编码转换 Bash convmv -f GBK -t UTF-8 --notest -r ydcz_1/ 查找当前目录 ...

  8. windows下的计算时间间隔 -- GetTickCount()

    用法: #include "windows.h" DWORD lastTime =0;DWORD currentTime = 0;DWORD spendTime = 0; last ...

  9. [转帖]dfs和bfs

    dfs和bfs https://www.cnblogs.com/wzl19981116/p/9397203.html 1.dfs(深度优先搜索)是两个搜索中先理解并使用的,其实就是暴力把所有的路径都搜 ...

  10. javascript两种循环写法

    var i=0,len=cars.length; for (; i<len; ) { document.write(cars[i] + "<br>"); i++; ...