HBase Shell操作HBase进行预分区

这篇具有很好参考价值的文章主要介绍了HBase Shell操作HBase进行预分区。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

本文将介绍如何使用HBase Shell操作HBase进行预分区。预分区是指在创建表的时候,指定表的初始分区点,从而使表的数据能够均匀地分布在多个RegionServer上,提高读写性能和负载均衡。本文将使用HBase Shell命令,创建不同的预分区表,并演示如何删除、刷新、查看和验证表的数据。

主要内容如下:

  • 创建预分区表,指定SPLITS参数和COMPRESSION参数。
  • 删除表的数据,使用deleteall或truncate命令。
  • 刷新表的数据,使用flush命令。
  • 查看表的数据,使用scan命令。
  • 验证表的分区,使用scan hbase:meta命令。

 本文使用了HBase Shell命令,通过交互式方式操作HBase进行预分区。也可以使用Java API或其他语言API

一、环境准备

  • 安装HBase环境,并配置好集群。本文使用的是HBase 1.4.13版本,运行在三个Ubuntu系统的虚拟机中,分别作为master和slave节点。
  • 启动HBase Shell,进入交互式命令行界面。可以使用以下命令:
hbase shell

二、创建预分区表

  • 使用create命令,创建预分区表。该命令接受表名、列族名和SPLITS参数作为输入。SPLITS参数是一个数组,指定了表的初始分区点。例如:
create 't2', 'f1', SPLITS => ['1|', '2|', '3|']
  • 该命令会创建一个名为t2的表,有一个列族f1,并且有四个初始分区,分别是:

    • rowkey < ‘1|’
    • ‘1|’ <= rowkey < ‘2|’
    • ‘2|’ <= rowkey < ‘3|’
    • ‘3|’ <= rowkey
  • 可以使用不同的SPLITS参数,创建不同的预分区表。例如:

create 't3', 'f1', SPLITS => ['0', '1', '2']
create 't3index', 'f1'
create 't3index2', 'f1', SPLITS => [ '4', '7']
create 't3geo', 'f1', SPLITS => ['1', '2']
create 't3geo', 'f1', SPLITS =>  ['0', '1', '2']
create 't32', 'f1', SPLITS => ['0', '1', '2']
create 'tgeo3', 'f1', SPLITS =>  ['0', '1', '2']
create 't3feature', 'f1', SPLITS => ['0', '1', '2']
  • 可以使用COMPRESSION参数,指定列族的压缩方式。例如:
create 'rawdata', {NAME=>'f1',COMPRESSION=>'SNAPPY'},{SPLITS=> ['1', '2']}
  • 该命令会创建一个名为rawdata的表,有一个列族f1,并且使用SNAPPY压缩方式,并且有三个初始分区,分别是:

    • rowkey < ‘1’
    • ‘1’ <= rowkey < ‘2’
    • ‘2’ <= rowkey

 文章来源地址https://www.toymoban.com/news/detail-487493.html

三、删除表的数据

  • 使用deleteall命令,删除表中某一行的所有数据。该命令接受表名和行键作为输入。例如:
deleteall 'test','row1'
  • 该命令会删除test表中行键为row1的所有数据。

  • 使用truncate命令,删除表中所有数据,并重新创建空表。该命令接受表名作为输入。例如:

truncate 'test'

四、刷新表的数据

  • 使用flush命令,刷新表的数据,将内存中的数据写入到HDFS中。该命令接受表名作为输入。例如:
flush 't3feature'
  • 该命令会刷新t3feature表的数据,保证数据的持久性。

写入HBase少量数据spark可能读取不到,刷写到HDFS之后可解决。

五、查看表的数据

  • 使用scan命令,扫描表的数据,并显示在控制台上。该命令接受表名和一些可选参数作为输入。例如:
scan 't3feature'
  • 该命令会扫描t3feature表的所有数据,并显示行键和列值。

  • 可以使用COLUMNS参数,指定要扫描的列族或列名。例如:

scan 't3feature',{COLUMNS=>'f1:2020-11NDVI'}
  • 该命令会扫描t3feature表的f1列族下的2020-11NDVI列,并显示行键和列值。

六、验证表的分区

  • 使用scan命令,扫描hbase:meta表的数据,查看表的分区信息。该命令接受表名作为输入。例如:
scan 'hbase:meta'

HBase Shell操作HBase进行预分区

 从上图可看出region均匀的分布在了3台regionserver上(集群就3台机器regionserver),达到预期效果。还可以在hbase的web UI界面中更加直观的查看建表的预分区信息。

HBase Shell操作HBase进行预分区

 

  • 该命令会扫描hbase:meta表的所有数据,并显示每个表的分区点和所在的RegionServer。

  • 可以使用grep命令,过滤出某个表的分区信息。例如:

scan 'hbase:meta' | grep t3feature
  • 该命令会扫描hbase:meta表的所有数据,并只显示t3feature表的分区点和所在的RegionServer。
  • 再看看写数据是否均匀的命中各个region,是否能够做到对写请求的负载均衡:

HBase Shell操作HBase进行预分区

HBase Shell操作HBase进行预分区

 

到了这里,关于HBase Shell操作HBase进行预分区的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • HBase Shell操作&Flink写入HBase

    1)进入HBase客户端命令行 2)查看帮助命令 3)查看当前数据库中有哪些表 1)创建表 2)插入数据到表 3)扫描查看表数据 4)查看表结构 5)更新指定字段的数据 6)查看“指定行”或“指定列族:列”的数据 7)统计表数据行数 8)删除数据 9)清空表数据 10)删除表 11)变更

    2024年02月04日
    浏览(44)
  • HBase Shell 操作

    1.1、进入HBase客户端命令行 前提是先启动hadoop集群和zookeeper集群。 1.2、查看帮助命令 help 查看指定命令的语法规则 查看 list_namespace 的用法(‘记得加单引号’) 我们首先查看现在有哪些命名空间 ,使用指令:list_namespace 注意:我的hadoop版本3.3.0,HBase2.4.17,两者兼容性有问

    2024年02月13日
    浏览(27)
  • Hbase Shell操作

    HBase中用 create 命令创建表,具体如下: 此时,创建了一个“student”表,属性有:name,sex,age,address。可通过 describe 命令查看“student”表的基本信息: 2.1 添加数据 HBase中用 put 命令添加数据. 注意:一次只能为一个表的一行数据的一个列,也就是一个单元格添加一个数据。

    2024年02月15日
    浏览(33)
  • HBase基础及shell操作

    HBase是采用java语言编写的一款 apache 开源的基于HDFS的NoSQL型数据库,不支持 SQL,不支持事务,不支持Join操作,没有表关系 1.不支持事务 2.主要存储结构化数据以及半结构化的数据 3.​HBase中数据存储都是以 字节 的形式来存储的 4.HBase是易于扩展的 1- 大: 在一个表中可以存储上

    2023年04月08日
    浏览(30)
  • HBase(11):shell管理操作

    1 status 例如:显示服务器状态   2 whoami 显示HBase当前用户,例如:   3 list 显示当前所有的表 4 count 统计指定表的记录数,例如:     5 describe 展示表结构信息   6 exists 检查表是否存在,适用于表量特别多的情况

    2024年02月12日
    浏览(31)
  • HBase Shell基本操作

    先在Linux Shell命令行终端执行 start-dfs.sh 脚本启动HDFS,再执行 start-hbase.sh 脚本启动HBase。如果Linux系统已配置HBase环境变量,可直接在任意目录下执行 hbase shell 脚本命令,就可进入HBase Shell的命令行终端环境, exit 可以退出HBase Shell(我安装的是伪分布式的HBase)。 (1) help帮

    2024年04月13日
    浏览(29)
  • HBase高手之路4-Shell操作

    命令 功能 create 创建表 put 插入或者更新数据 get 获取限定行或者列的数据 scan 全表扫描或扫描表并返回表的数据 describe 查看表的结构 count 统计行数 delete 删除指定的行或列的数据 deleteall 删除整个行或者列的数据 truncate 删除表的数据,结构还在 drop 删除整个表(包括数据)

    2023年04月17日
    浏览(32)
  • 大数据----33.hbase中的shell文件操作

    HBase的命令行工具,最简单的接口,适合HBase管理使用,可以使用shell命令来查询HBase中数据的详细情况。 注意:如果进入hbase后长时间不操作; 发生hbase自动关闭没有了进程; 原因是内存不够;可以关闭机器;增加内存;虚拟机就扩大内存。 1、进入 hbase 客户端、帮助命令

    2024年01月24日
    浏览(30)
  • Hbase安装和shell客户端操作

    HBase 是一个 面向列式存储的分布式数据库 ,其设计思想来源于 Google 的 BigTable 论文。 HBase 底层存储基于 HDFS 实现,集群的管理基于 ZooKeeper 实现。 HBase 良好的分布式架构设计为海量数据的快速存储、随机访问提供了可能,基于数据副本机制和分区机制可以轻松实现在线扩容

    2024年02月08日
    浏览(34)
  • HBase Shell启动缓慢及操作耗时长的原因分析与解决

    在内网搭了一个 hbase-2.2.6(hadoop-2.7.3)的环境,使用的是其内置的 zookeeper-3.4.10,16010端口对应的 web界面可以正常访问,且各项功能正常。 在使用 hbase shell的过程中,首先是 hbase shell启动非常慢,约 210s才成功,其次执行 scan、put、get等命令需要 20s左右才能完成。以笔者的经

    2024年02月02日
    浏览(50)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包