目录

Scan

创建表

Count

清空表数据

删除数据

删除表

删除列簇

判断表是否为‘enable’

插入

Region管理


Scan

  • 查询某个表某个列的数据:
scan 'tableName',{COLUMN=>列族:列,LIMIT=>需要查看条数}
  • 指定开始Rowkey查询
scan 'tableName',{STARTROW=>'0693482750769917',LIMIT=>10}
  • 指定时间范围查询
 scan 'tableName', { TIMERANGE => [1303668804, 1303668904]}
  • 指定多列
 scan 'tableName', {COLUMNS => ['c1','c2'], TIMERANGE => [1303668804, 1303668904]}

创建表

  • 创建表,snappy压缩,版本1
create 'tableName', {NAME => 'fn', VERSIONS=>1,COMPRESSION=>'snappy'}

Count

  • INTERVAL:每10000条显示一次,CACHE 每次读取的缓存区大小,调整该参数可提高查询速度
count 'tableName',{INTERVAL=>10000,CACHE=>10000}

清空表数据

truncate 'table_name'

删除数据

#删除rowkey为temp的记录的'info:age'字段
delete 'member','temp','info:age'
#删除整行
deleteall 'member','temp'

删除表

hbase(main)> disable 't1'
hbase(main)> drop 't1'

删除列簇

disable ‘table1’
alter ‘table1’, {NAME=>’tab1_add’, METHOD=>’delete’}
enable ‘table1’

判断表是否为‘enable’

is_enabled 'table1'

插入

put 表名 ,rowkey,列名(列族:列名),value

Region管理

移动Region

# 语法:move 'encodeRegionName', 'ServerName'# encodeRegionName指的regioName后面的编码,ServerName指的是master-status的Region Servers列表# 示例hbase(main)>move '4343995a58be8e5bbc739af1e91cd72d', 'db-41.xxx.xxx.org,60020,1390274516739'

encodeRegionName

ServerName

Merge Region

1 > merge_region 'encodeRegionName1', 'encodeRegionName2'
2 > merge_region 'encodeRegionName1', 'encodeRegionName2',true

场景一:很多带有TTL(数据过期时间)的时间序列业务通常在一段时间之后出现很多空Region,里面没有任何数据。当然,空Region必然也不再接收任何读写请求。

如果集群中空Region很多,则很有可能造成系统负载不均衡,某些RegionServer上空Region少,相应的读写QPS负载很高;而另一些RegionServer上空Region多,相应的读写QPS负载很低。这类负载不均衡并不容易察觉,因为从Master UI角度看每个RegionServer上的Region数量基本相当。

另外,对于那些HBase规划并不是很好的业务来讲,有可能出现很多的冷Region,冷Region接收的读写请求相比其他Region来说非常少,这也会造成系统负载不均衡现象。

对于这些空Region以及冷Region,可以使用merge_region将其合并。需要注意的是,使用merge_region对这些Region进行合并的时候只能前后相连的Region合并,不相连的Region无法实现合并。

场景二:在某些特殊的异常情况下,集群中会出现overlap现象,比如两个Region的startkey相同但stopkey不同,或者startkey不同但stopkey相同。在这种异常情况下只能使用merge_region强制合并这些overlap的Region,merge_region命令需要加上参数true。

无论是哪种场景,如果需要连续合并多个相连的Region集,比如region1,region2和region3都需要合并,先执行merge_region region1,region2得到region12,再执行merge_region region12,region3。合并完region1和region2之后需要对region12执行Compaction,之后再合并region12和region3,这样将没有异常,否则会报异常。

本段参考《Hbase 原理与实践》

开启/关闭Region

# 语法:balance_switch true|falsehbase(main)> balance_switch

手动Split

# 语法:split 'regionName', 'splitKey'

手动触发major compaction

#语法:#Compact all regions in a table:hbase> major_compact 't1'#Compact an entire region:hbase> major_compact 'r1'#Compact a single column family within a region:hbase> major_compact 'r1', 'c1'#Compact a single column family within a table:hbase> major_compact 't1', 'c1'

注意事项

truncate 与 truncate_preserve 区别

truncate 会直接删除表的数据,同时也会删除表的预分区等信息

truncate_preserve 会直接删除表,并重新建表,会保留预分区信息,建议使用该方法

https://datamining.blog.csdn.net/article/details/89308003

Hbase Shell 介绍相关推荐

  1. HBase shell 命令介绍

    HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况.安装完HBase之后,如果配置了HBase的环境变量,只要在sh ...

  2. Hbase Shell命令介绍

    HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况.安装完HBase之后,如果配置了HBase的环境变量,只要在sh ...

  3. hbase shell命令_HBASE的shell操作

    前言 我们知道hbase其实是架构在hdfs上的一个分布式数据库,既然是数据库那么这篇文章就主要围绕着我们最熟悉的增删改查来做.当然了,其实hbase的shell操作在真实的企业中几乎不用,这个很简单 ...

  4. hbase shell命令扩展(转自http://www.netfoucs.com/cuirong1986/article/details/7986900)

    也许你还不清楚我在说什么,看一下下面的截图你就明白了: 好吧,如果您感兴趣,可以继续看下去了. hbase是以字节数组的形式存储数据的,当你直接用API或通过hbase 自带的shell端去查询数据时 ...

  5. Hbase shell详情

    HBase 为用户提供了一个非常方便的使用方式, 我们称之为"HBase Shell". HBase Shell 提供了大多数的 HBase 命令, 通过 HBase Shell ...

  6. Hbase shell 常用命令

    为什么80%的码农都做不了架构师?>>>    下面我们看看HBase Shell的一些基本操作命令,我列出了几个常用的HBase Shell命令,如下: 名称 命令表达式 创建表 ...

  7. hbase shell远程连接_HBase安装详解

    本文将介绍如何安装HBase和初始配置. 需要用Java和Hadoop来处理HBase,所以必须下载java和Hadoop并安装系统中.安装前设置 安装Hadoop在Linux环境下之前,需要建立和使 ...

  8. 关于HBase及HBase Shell的认识

    HBase shell是HBase的一套命令行工具,类似传统数据中的sql概念,可以使用shell命令来查询HBase中数据的详细情况.安装完HBase之后,如果配置了HBase的环境变量,只要在sh ...

  9. HBase2.x(三)HBase Shell操作

    文章目录 基本操作 namespace DDL DML 基本操作 1)进入 HBase 客户端命令行 [root@hadoop102 hbase]$ bin/hbase shell 2)查看帮助命令 ...

最新文章

  1. 多进程python_python -- 多进程
  2. CentOS修改yum源为阿里云
  3. 如何使用数据库可移植性将邮箱数据库还原到新服务器
  4. C#下实现的基础K-MEANS多维聚类
  5. Android快速开发(2)
  6. OpenGL 错误获取glGetError()
  7. 【语音识别】基于matlab带动量项的BP神经网络语音识别【含Matlab源码 430期】
  8. Java中Object转化为int类型
  9. Python 使用正则进行过滤字母、数字及特殊字符
  10. FITS python
  11. CSS重置默认样式reset.css代码模板
  12. 有钱人抢豪宅,普通人不敢消费:社会在割裂,富人更富,穷人更穷
  13. 地域和地方的区别_经济区域和区域经济的区别和联系是什么
  14. [源码和文档分享]基于C#实现的RPG角色扮演类小游戏
  15. 时间在流逝——上还是不上大学?
  16. 多级雷达图绘制python_Python 详解雷达图/蛛网图
  17. 毕业设计-图书管理系统
  18. symbian 音频 汇总
  19. Go 语言编程 — GPM 与 CSP 高并发模型
  20. 【物联网竞赛-ZigBee无线点对点控制灯光】

热门文章

  1. Android插u盘自动执行,android tv box ---- 插入u盘直接播放指定文件夹中的视频
  2. 坏道修复是不是硬盘东西全部都没有了_硬盘有坏道就不能用了吗?别再吃哑巴亏了,今天跟大家再说一次...
  3. python追加_如何在Python中追加文件?
  4. pythonspot_python-Spotipy-列表索引超出范围
  5. 谈一谈Java编程开发中的并发控制
  6. oracle oic配置,Oracle数据库 client配置
  7. python2和3_python2和python3的区别
  8. linux环境特性的文件夹,在Linux环境下如何消减可执行文件或者动态库的大小
  9. 排序算法 --- 快速排序
  10. 计算机操作系统同步互斥