查看hbase版本
hbase(main):002:0> version
2.1.0-cdh6.2.0, rUnknown, Wed Mar 13 23:39:58 PDT 2019
Took 0.0003 seconds

Hbase表空间概念

1、介绍

在HBase中,namespace命名空间指对一组表的逻辑分组,类似RDBMS中的database,方便对表在业务上划分。Apache HBase从0.98.0, 0.95.2两个版本开始支持namespace级别的授权操作,HBase全局管理员可以创建、修改和回收namespace的授权。

2、namespace

HBase系统默认定义了两个缺省的namespace

hbase:系统内建表,包括namespace和meta表

default:用户建表时未指定namespace的表都创建在此

hbase 查看命名空间
hbase(main):001:0> list_namespace
NAMESPACE
default
hbase
2 row(s)
Took 0.5695 seconds
创建表空间
hbase(main):005:0> create_namespace 'grady'
Took 0.5849 seconds hbase(main):006:0> list_namespace
NAMESPACE
default
grady
hbase
3 row(s)
Took 0.0123 seconds
在表空间下创建表

create 'table_name', 'family1', 'family2', 'familyN'

表至少要包含一个列簇
hbase(main):008:0> create 'grady:student'

ERROR: Table must have at least one column family

For usage try 'help "create"'

Took 0.0117 seconds
正确例子
hbase(main):010:0> create 'grady:student', 'colfam01'
Created table grady:student
Took 2.5297 seconds
=> Hbase::Table - grady:student
查看命名空间下的表
hbase(main):011:0> list_namespace_tables 'grady'
TABLE
student
1 row(s)
Took 0.0289 seconds
=> ["student"]
列出所有表
hbase(main):012:0> list
TABLE
grady:student
1 row(s)
Took 0.0291 seconds
=> ["grady:student"]
删除命名空间
drop_namespace 'grady'
禁用表
disable 'grady:student'
启用表
enable ‘grady:student’
表是否启动或者禁用
is_enabled 'table1'

is_disabled 'table1'
删除表(先禁用再删除)
disable 'grady:student'
drop 'grady:student'
获取表描述信息
hbase(main):015:0> describe 'grady:student'
Table grady:student is ENABLED
grady:student
COLUMN FAMILIES DESCRIPTION
{NAME => 'colfam01', VERSIONS => '1', EVICT_BLOCKS_ON_CLOSE => 'false', NEW_VERSION_BEHAVIOR => 'false', KEEP_DELETED_CELLS => 'FALSE
', CACHE_DATA_ON_WRITE => 'false', DATA_BLOCK_ENCODING => 'NONE', TTL => 'FOREVER', MIN_VERSIONS => '0', REPLICATION_SCOPE => '0', BL
OOMFILTER => 'ROW', CACHE_INDEX_ON_WRITE => 'false', IN_MEMORY => 'false', CACHE_BLOOMS_ON_WRITE => 'false', PREFETCH_BLOCKS_ON_OPEN
=> 'false', COMPRESSION => 'NONE', BLOCKCACHE => 'true', BLOCKSIZE => '65536'}
1 row(s)
Took 0.2017 seconds

dml 数据操作

插入数据
put  'grady:student' ,  'jiang' ,  'colfam01:age' ,  '24'
put 'grady:student' , 'jiang' , 'colfam01:city' , 'wuhan'
全表数据扫描
hbase(main):020:0> scan 'grady:student'
ROW COLUMN+CELL
jiang column=colfam01:age, timestamp=1643384572444, value=24
jiang column=colfam01:city, timestamp=1643384598828, value=wuhan
1 row(s)
Took 0.0072 seconds
获得一行所有的数据(根据rowkey)
hbase(main):023:0> get 'grady:student', 'jiang'
COLUMN CELL
colfam01:age timestamp=1643384572444, value=24
colfam01:city timestamp=1643384598828, value=wuhan
1 row(s)
Took 0.0684 seconds
获取某一行某一列簇的数据
hbase(main):025:0> get 'grady:student', 'jiang', 'colfam01'
COLUMN CELL
colfam01:age timestamp=1643384572444, value=24
colfam01:city timestamp=1643384598828, value=wuhan
1 row(s)
Took 0.0064 seconds
获取某一行某一列的数据
hbase(main):024:0> get 'grady:student', 'jiang', 'colfam01:city'
COLUMN CELL
colfam01:city timestamp=1643384598828, value=wuhan
1 row(s)
Took 0.0197 seconds
更新某一行某一列的数据
hbase(main):026:0> put  'grady:student' ,  'jiang' ,  'colfam01:city' ,  'wuhan-hongshan'
Took 0.0102 seconds hbase(main):027:0> scan 'grady:student'
ROW COLUMN+CELL
jiang column=colfam01:age, timestamp=1643384572444, value=24
jiang column=colfam01:city, timestamp=1643385119877, value=wuhan-hongshan
1 row(s)
Took 0.0073 seconds
查询表中数据量
hbase(main):028:0> count 'grady:student'
1 row(s)
Took 0.0434 seconds
=> 1
清空表
truncate 'member'

删除某行的某一列的数据

先插入chen的数据
hbase(main):029:0> put 'grady:student' , 'chen' , 'colfam01:city' , 'wuhan-hongshan'
Took 0.0097 seconds
hbase(main):030:0> put 'grady:student' , 'chen' , 'colfam01:age' , '25'
Took 0.0116 seconds
hbase(main):031:0> scan 'grady:student'
ROW COLUMN+CELL
chen column=colfam01:age, timestamp=1643385532711, value=25
chen column=colfam01:city, timestamp=1643385510256, value=wuhan-hongshan
jiang column=colfam01:age, timestamp=1643384572444, value=24
jiang column=colfam01:city, timestamp=1643385119877, value=wuhan-hongshan hbase(main):032:0> delete 'grady:student', 'chen', 'colfam01:age'
Took 0.0094 seconds
删除整行数据
hbase(main):006:0> deleteall 'grady:student', 'chen'
Took 0.0642 seconds

表结构修改

新增列簇
alter 'grady:student',  'cf2'
删除列簇
alter 'grady:student', 'delete' => 'cf2'
Hbase 使用LIMIT查询前10条数据
scan 'test-table', {'LIMIT' => 10}

参考:

https://blog.csdn.net/kangkangwanwan/article/details/60960731

Hbase shell 操作记录的更多相关文章

  1. 大数据技术之_11_HBase学习_01_HBase 简介+HBase 安装+HBase Shell 操作+HBase 数据结构+HBase 原理

    第1章 HBase 简介1.1 什么是 HBase1.2 HBase 特点1.3 HBase 架构1.3 HBase 中的角色1.3.1 HMaster1.3.2 RegionServer1.3.3 ...

  2. HBase ——Shell操作

    HBase --Shell操作 Q:你觉得HBase是什么? A:一种结构化的分布式数据存储系统,它基于列来存储数据. 基于HBase,可以实现以廉价PC机器集群存储海量数据的分布式数据库的解决方案. ...

  3. Hbase常用操作记录

    Hbase常用操作记录 Hbase 创建表 查看表结构 修改表结构 删除表 创建表 语法:create <table>, {NAME => <family>, VERSI ...

  4. HBase Shell操作

    Hbase 是一个分布式的.面向列的开源数据库,其实现是建立在google 的bigTable 理论之上,并基于hadoop HDFS文件系统.     Hbase不同于一般的关系型数据库(RDBMS ...

  5. Shell学习——子shell操作记录转储

    概述 主要介绍子shell历史操作记录的保存以及解析,比如python, scala等,用于(准)实时监控用户行为. 背景 一级shell的历史操作记录已由系统实现,当用户从开始登录shell(这里指 ...

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

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

  7. 云计算与大数据实验:Hbase shell操作成绩表

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

  8. HBase基础之常用过滤器hbase shell操作(转)

    创建表 create 'test1', 'lf', 'sf' lf: column family of LONG values (binary value)-- sf: column family o ...

  9. HBase基础之常用过滤器hbase shell操作

    创建表 create 'test1', 'lf', 'sf' lf: column family of LONG values (binary value) -- sf: column family ...

随机推荐

  1. 自然常数e的由来以及计算机为什么是二进制

    背景 ​ 昨晚我在看一本书,叫<数学极客>,看到第六章<e:不自然的自然数>,这个数最早开始接触应该是高一的时候,那时候问老师,这个数是怎么来的,老实说,和圆周率一样,是一个常 ...

  2. sort基本用法

    sort 选项 -u --去除重复行 -r --降序排列,默认是升序 -o --由于sort默认是把结果输出到标准输出,所以需要用重定向才能将结果写入文件,形如sort filename > n ...

  3. weiphp 插件"通用表单"BUG修改

    修改文件目录 在类FormsValueController 中添加函数 // 匹配函数 //$value:字符串 //$validate_rule:正则规则 // return true:比配成功,f ...

  4. 十进制转换为K进制 Java 代码

    最近在读<计算机科学导论--跨学科方法>(机械工业出版社),习题索引:1.3.21: 编写一个新程序Kary,输入两个命令行参数i和k,并将i转换为基数k的数值表示.假设i是java中的l ...

  5. 强化学习-学习笔记8 | Q-learning

    上一篇笔记认识了Sarsa,可以用来训练动作价值函数\(Q_\pi\):本篇来学习Q-Learning,这是另一种 TD 算法,用来学习 最优动作价值函数 Q-star,这就是之前价值学习中用来训练 ...

  6. C语言-数据结构-结构体

    一.结构体的定义 数组(Array)是一组具有相同类型的数据的集合.但在实际的编程过程中,我们往往还需要一组类型不同的数据,例如对于学生信息登记表,姓名为字符串,学号为整数,年龄为整数,所在的学习小组 ...

  7. Git Rebase操作

    概括 rebase翻译过来为"变基",可以理解为改变基础,它可以用于分支合并和修改提交记录. 合并分支的区别 我们知道merge操作也可以用于分支合并,但是其和rebase操作有着 ...

  8. Javascript之我也来手写一下Promise

    Promise太重要了,可以说是改变了JavaScript开发体验重要内容之一.而Promise也可以说是现代Javascript中极为重要的核心概念,所以理解Promise/A+规范,理解Promi ...

  9. 【跟着大佬学JavaScript】之数组去重(结果对比)

    前言 数组去重在面试和工作中都是比较容易见到的问题. 这篇文章主要是来测试多个方法,对下面这个数组的去重结果进行分析讨论.如果有不对的地方,还请大家指出. const arr = [ 1, 1, &q ...

  10. 算法竞赛进阶指南0x51 线性DP

    AcWing271. 杨老师的照相排列 思路 这是一个计数的题目,如果乱考虑,肯定会毫无头绪,所以我们从1号到最后一个依次进行安排. 经过反复实验,发现两个规律 每一行的同学必须是从左向右依次连续放置 ...