首页 > 其他分享 >hbase truncate table后没有释放空间

hbase truncate table后没有释放空间

时间:2023-09-19 10:22:30浏览次数:33  
标签:Major truncate 释放 Compaction table hbase HBase 存储空间

HBase中的truncate table操作会清空表中的所有数据,但不会立即释放物理存储空间。这是因为HBase使用一种称为“Major Compaction(主要合并)”的过程来清理和释放存储空间。Major Compaction是HBase自动执行的周期性任务,通常在后台进行。

Major Compaction将删除表中已标记为删除的数据(Tombstones),合并HFile(存储数据的文件),并将数据重新组织以减小存储空间的使用。这个过程可以将不再需要的存储空间释放回HBase文件系统。

如果你想立即释放空间,可以手动触发Major Compaction。你可以使用HBase shell或HBase的编程API执行此操作。以下是在HBase shell中手动触发Major Compaction的示例:

 major_compact 'your_table_name' 

 

手动触发Major Compaction可能会对HBase集群产生一些额外的负载,因此请在需要的情况下谨慎使用它。通常情况下,HBase会自动处理存储空间的释放,你无需频繁手动触发Major Compaction。

标签:Major,truncate,释放,Compaction,table,hbase,HBase,存储空间
From: https://www.cnblogs.com/8765h/p/17713921.html

相关文章

  • iOS开发Swift-UITableView-navigationController?.pushViewController(fileOperation,
    navigationController?.pushViewController(fileOperation,animated:true) 通过导航控制器(navigationController)将一个新的视图控制器(fileOperation)推入栈顶,同时以动画的形式展示这个过程。如果navigationController为nil,那么pushViewController操作将不会执行。在iOS开发......
  • iOS开发Swift-UITableView-func tableView(_ tableView: UITableView, cellForRowAt i
    functableView(_tableView:UITableView,cellForRowAtindexPath:IndexPath)->UITableViewCell{letcellid="testCellID"//cell的IDvarcell=tableView.dequeueReusableCell(withIdentifier:cellid)//对cell赋值ifcel......
  • iOS开发Swift-UITableView-func tableView(_ tableView: UITableView, numberOfRowsIn
    functableView(_tableView:UITableView,numberOfRowsInSectionsection:Int)->Int{return6}返回一个整形.作用:UITableView的DataSource,用来确定cell的个数.numberOfRowsInSection就是在界面中的行数例如: ......
  • HBase学习9(phoenix两种方式预分区)
    P351.phoenix预分区如要分4个分区建表命令如下:createtableifnotexistsORDER_DTL("id"varcharprimarykey,C1."status"varchar,C1."money"float,C1."pay_way"integer,C1."user_id"varchar,C1."operation_time&q......
  • Stability AI发布基于稳定扩散的音频生成模型Stable Audio
    近日StabilityAI推出了一款名为StableAudio的尖端生成模型,该模型可以根据用户提供的文本提示来创建音乐。在NVIDIAA100GPU上StableAudio可以在一秒钟内以44.1kHz的采样率产生95秒的立体声音频,与原始录音相比,该模型处理时间的大幅减少归因于它对压缩音频潜在表示的有效处理。......
  • delphi TFDMemTable的应用
    一.TFDMemTable控件不依赖数据库,可以独立保存数据(运行期间)和使用.这种情况下,我们只能通过[新建字段]来建立数据字段.上面的[添加字段] 和 [添加所有字段] 都是要与数据库连接之后才能用. 这里提示一下各位.字段要加好以后再往里面录数据,如果先录了数据,然后再......
  • 工作这么多年,还分不清truncate、delete和drop?
    前言在使用SQL(StructuredQueryLanguage)进行数据库操作时,我们经常会遇到需要删除数据或表的情况。而在这些场景中,我们常常使用truncate、delete和drop这三个关键词。尽管它们都有删除数据的作用,但是它们之间还是存在一些差别。在本篇文章中,我们将深入探讨truncate、delete和drop......
  • 每日学习之Hbase的高可用
    7.1Hbase高可用简介HBase的高可用配置其实就是HMaster的高可用。要搭建HBase的高可用,只需要再选择一个节点作为HMaster。7.2搭建HBase的高可用教程连接:018.HBase的HMaster高可用_哔哩哔哩_bilibilihbase配置高可用之后,对原来的Java代码是不影响的8.HBase叫个屁8.1系统架构8......
  • hbase 连接类
    packagepack;importjava.sql.Connection;importjava.sql.DriverManager;publicclassCon{publicstaticConnectiongetConnection()throwsException{Class.forName("org.apache.phoenix.jdbc.PhoenixDriver");Stringurl=&q......
  • HBase学习10(hbase高可用)
    17-181.搭建hbase高可用考虑关于HBase集群的一个问题,在当前的HBase集群中,只有一个Master,一旦Master出现故障,将会导致HBase不再可用。所以,在实际的生产环境中,是非常有必要搭建一个高可用的HBase集群的。 HBase的高可用配置其实就是HMaster的高可用。要搭建HBase的高可用,只需要......