【实验目的】

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. k8s记录-Dockerfile详解

    Dockerfile命令详解 下面我们来分别介绍下上面使用到的命令: FROM 格式:FROM 或FROM :. 解释:FROM必须是Dockerfile里的第一条指令(注视除外),后面跟有效的镜像名 ...

  2. IDEA中提示配置jdk1.8

    问题描述:运行Java Web项目时,IDEA中提示:Warning:java: 源值1.5已过时, 将在未来所有发行版中删除 解决方法:1. 打开[File]—[Project Structure] ...

  3. java日期格式转换大全

    public class DateFormatUtils { private static Log logger = LogFactory.getLog(DateFormatUtils.class); ...

  4. bladex开发自己的服务不推送服务器的方法

    一:问题 使用代码生成器 生成的代码,运行后,需要推送至服务器才可以进行调试,每次推送,启动服务至少半个小时以上,相当浪费时间,如何可以让开发的服务不推送至服务器能调试呢? 二:尝试解决 直接开发机运 ...

  5. mysql数据库每天备份

    以备份mysql下的test数据库为例,备份到/home/data 使用mysqldunp命令 dump.sh mysqldump -h127. -uadmin -P3306 -ppassword t ...

  6. charles 4.2.1 Ubuntu破解版安装

    charles 4.2.1 Ubuntu破解版安装 下载 charles-proxy-4.2.1_amd64.tar.gz 破解版 charles.jar 破解包 解压 sudo tar -zxvf ...

  7. Java中参数始终是按值传递

    Java中参数始终是按值传递. public class Main { public static void main(String[] args) { int x = 5; change(x); S ...

  8. Scratch学习中需要注意的地方,学习Scratch时需要注意的地方

    在所有的编程工具中,Scratch是比较简单的,适合孩子学习锻炼,也是信息学奥赛的常见项目.通常Scratch学习流程是,先掌握程序相关模块,并且了解各个模块的功能使用,然后通过项目的编写和练习,不断 ...

  9. JS中,JSON 和 对象互转,数组和字符串的转换?

    JSON 与 J对象转化 要实现从对象转换为 JSON 字符串,使用 JSON.stringify() 方法: 如下: var json = JSON.stringify({a: 'Hello', b ...

  10. Function Evaluation

    Author: Leisureeen Time Limit: 100ms Memory Limit: 65535KB Code Size Limit: 16 KB 64-bit integer IO ...