CN108563698B - 一种HBase表的Region合并方法和装置 - Google Patents
一种HBase表的Region合并方法和装置 Download PDFInfo
- Publication number
- CN108563698B CN108563698B CN201810241805.3A CN201810241805A CN108563698B CN 108563698 B CN108563698 B CN 108563698B CN 201810241805 A CN201810241805 A CN 201810241805A CN 108563698 B CN108563698 B CN 108563698B
- Authority
- CN
- China
- Prior art keywords
- region
- score
- regions
- determining
- file
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 238000003860 storage Methods 0.000 claims abstract description 78
- 238000012545 processing Methods 0.000 claims abstract description 28
- 238000010586 diagram Methods 0.000 description 13
- 238000004590 computer program Methods 0.000 description 5
- 230000006870 function Effects 0.000 description 5
- 238000012216 screening Methods 0.000 description 5
- 238000007906 compression Methods 0.000 description 3
- 238000012986 modification Methods 0.000 description 3
- 230000004048 modification Effects 0.000 description 3
- 230000008569 process Effects 0.000 description 3
- 238000004891 communication Methods 0.000 description 2
- 238000013500 data storage Methods 0.000 description 2
- 238000012544 monitoring process Methods 0.000 description 2
- 230000003287 optical effect Effects 0.000 description 2
- 230000006835 compression Effects 0.000 description 1
- 238000009826 distribution Methods 0.000 description 1
- 239000000835 fiber Substances 0.000 description 1
- 238000004519 manufacturing process Methods 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 230000000717 retained effect Effects 0.000 description 1
- 239000004065 semiconductor Substances 0.000 description 1
- 239000007787 solid Substances 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
- G06F16/184—Distributed file systems implemented as replicated file system
- G06F16/1844—Management specifically adapted to replicated file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/18—File system types
- G06F16/182—Distributed file systems
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/10—File systems; File servers
- G06F16/13—File access structures, e.g. distributed indices
- G06F16/134—Distributed indices
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/21—Design, administration or maintenance of databases
- G06F16/215—Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/22—Indexing; Data structures therefor; Storage structures
- G06F16/2282—Tablespace storage structures; Management thereof
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F16/00—Information retrieval; Database structures therefor; File system structures therefor
- G06F16/20—Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
- G06F16/24—Querying
- G06F16/245—Query processing
- G06F16/2455—Query execution
- G06F16/24553—Query execution of query operations
- G06F16/24554—Unary operations; Data partitioning operations
- G06F16/24556—Aggregation; Duplicate elimination
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Databases & Information Systems (AREA)
- Data Mining & Analysis (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Computational Linguistics (AREA)
- Software Systems (AREA)
- Quality & Reliability (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明实施例涉及Region处理领域,尤其涉及一种HBase表的Region合并方法和装置,用以解决现有技术中Region合并效率低以及合并精确性差的问题。本发明实施例中,包括:获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息,一个Region对应的HDFS文件的属性信息包括Region对应的文件所占用的存储空间;至少根据多个Region中每个Region对应的文件所占用的存储空间,对多个Region中的每相邻两个Region进行合并处理。通过本发明实施例中基于Region对应的文件所占用的存储空间进行合并,有助于提高相邻两个Region进行合并的精度。
Description
技术领域
本发明实施例涉及Region处理领域,尤其涉及一种HBase表的Region合并方法和装置。
背景技术
分布式文件系统(Hadoop Distributed File System,简称HBase)是一个分布式的、面向列的开源数据库。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。HBase是可以提供实时计算的分布式数据库,数据被保存在HDFS分布式文件系统上。HBase将表会切分成小的数据单位叫Region,HBase中包括多个Region,每个Region中都存储一定的数据。Region被HMaster分配给多个Region Server,每个Region Server托管多个Region。
通常,HBase包括Region的数量越多,该HBase的读写性能和扩展性能就好,对应的应用性能和扩展性也越来越好。但是由于HBase实现的机制和业务数据的不均衡,随着时间的推移,HBase表中Region的数量越来越多,需要的内存越来越大,需要管理的Region也越来越多。这样,对系统的性能和稳定性造成负面的影响。为了解决这些问题,需要对Region进行合并。现有技术是手工的方式合并相邻的两个Region。具体为:登录HBase表的监控页面,管理者在监控界面中挑选相邻的两个Region,之后在HBase shell中对这个两个Region进行合并。
然而,采用现有技术的合并方式,只能通过人工的方式随机将HBase表中相邻的Region进行合并,造成Region合并效率低以及合并精确性差的问题。
发明内容
本发明实施例提供一种HBase表的Region合并方法和装置,用以解决现有技术中Region合并效率低以及合并精确性差的问题。
本发明实施例提供一种HBase表的Region合并方法,包括:获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息,一个Region对应的HDFS文件的属性信息包括所述Region对应的文件所占用的存储空间;至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理。
由于本发明实施例中,通过获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息:所述Region对应的文件所占用的存储空间,根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理。通过本发明实施例中基于Region对应的文件所占用的存储空间进行合并,有助于提高相邻两个Region进行合并的精度;进一步,是自动确定出要合并的相邻两个Region,不需要人手工操作,可提高Region合并的效率。
本发明实施例中,相邻两个Region会出现一个Region存在多个相邻两个Region中的场景;为了确保相邻两个Region中的列表在只包含唯一为Region,增加Region合并的精度,以及提高代码的稳定性。可选地,所述至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的相邻两个Region进行合并处理之前,还包括:剔除重复的Region。
可选地,所述至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理,包括:
针对第一Region和第二Region,确定所述第一Region和所述第二所述Region的对应的文件所占用的存储空间的和;所述第一Region和所述第二Region是所述多个Region中任两个相邻的Region;根据所述文件所占用的存储空间的和以及存储空间阈值,确定所述第一Region和所述第二Region对应的第一评分;至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分;若所述总评分满足预设值,则对所述第一Region和所述第二Region进行合并处理。
通过第一评分来筛选需要合并的相邻两个Region,进而提高相邻两个Region合并的精确度。
若两个Regions_Pair对应的文件所占用的存储空间的和相同时,为了提高筛选需要合并的相邻两个Region的精确度。可选地,所述一个Region对应的HDFS文件的属性信息还包括:所述Region对应的文件数量;确定所述第一Region和所述第二所述Region的对应的文件数量的和;根据所述文件数量的和以及文件数量阈值,确定所述第一Region和所述第二Region对应的第二评分;所述至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分,包括:至少根据所述第一评分和所述第二评分确定所述第一Region和所述第二Region对应的总评分。
如果Region处于压缩过程时,Region中存在Region的.tmp子目录。如果合并这些Region将带来性能和稳定性问题。可选地,所述一个Region对应的HDFS文件的属性信息还包括:是否包含.tmp目录;根据所述第一Region和所述第二所述Region的对应的文件中是否包含.tmp格式文件的指示信息,确定所述第一Region和所述第二Region对应的第三评分;所述至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分,包括:至少根据所述第一评分、所述第二评分和所述第三评分确定所述第一Region和所述第二Region对应的总评分。
通过第一评分、所述第二评分和所述第三评分确定所述第一Region和所述第二Region对应的总评分,进一步提高相邻两个Region合并的精度。
本发明实施例提供一种分布式文件系统HBase表的Region合并装置,包括:获取单元,用于获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息,一个Region对应的HDFS文件的属性信息包括所述Region对应的文件所占用的存储空间;处理单元,用于至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理。
可选地,所述处理单元,还用于:剔除重复的Region。
可选地,所述装置还包括确定单元,用于:针对第一Region和第二Region,确定所述第一Region和所述第二所述Region的对应的文件所占用的存储空间的和;所述第一Region和所述第二Region是所述多个Region中任两个相邻的Region;根据所述文件所占用的存储空间的和以及存储空间阈值,确定所述第一Region和所述第二Region对应的第一评分;
所述处理单元,用于:至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分;若所述总评分满足预设值,则对所述第一Region和所述第二Region进行合并处理。
可选地,所述一个Region对应的HDFS文件的属性信息还包括:所述Region对应的文件数量;所述确定单元,用于:确定所述第一Region和所述第二所述Region的对应的文件数量的和;根据所述文件数量的和以及文件数量阈值,确定所述第一Region和所述第二Region对应的第二评分;所述处理单元,用于:至少根据所述第一评分和所述第二评分确定所述第一Region和所述第二Region对应的总评分。
可选地,所述一个Region对应的HDFS文件的属性信息还包括:是否包含.tmp目录;所述确定单元,用于:根据所述第一Region和所述第二所述Region的对应的文件中是否包含.tmp格式文件的指示信息,确定所述第一Region和所述第二Region对应的第三评分;所述处理单元,用于:至少根据所述第一评分、所述第二评分和所述第三评分确定所述第一Region和所述第二Region对应的总评分。
本发明实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行上述所述的方法。
本发明实施例提供一种计算机设备,包括:存储器,用于存储程序指令;处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行上述所述的方法。
附图说明
为了更清楚地说明本发明实施例中的技术方案,下面将对实施例描述中所需要使用的附图作简要介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域的普通技术人员来讲,在不付出创造性劳动性的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种通信系统架构示意图;
图2为本发明实施例提供的一种分布式文件系统HBase表的Region合并方法的方法流程示意图;
图3为本发明实施例提供的一种分布式文件系统HBase表的Region合并装置的结构示意图。
具体实施方式
为了使本发明的目的、技术方案和优点更加清楚,下面将结合附图对本发明作进一步地详细描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其它实施例,都属于本发明保护的范围。
当本申请提及“第一”、“第二”、“序数之词,应当理解为仅是起区分之用。
图1示出了应用本发明实施例的一种通信系统的架构示意图。如图1所示,该系统架构可以包括至少一台服务器101和HBase表102。图1中以两台服务器101为例说明。服务器101可配置为24核Intel E5CPU、128G内存、20T存储空间;每台服务器中均部署有RegionServer服务。部署有Region Server的服务器的作用是管理表格,以及实现读写操作。Client直接连接部署有Region Server的服务器,并通信获取Hbase表中的数据。HBase表102可配置的内存为32G。HBase表中开始创建n个Region,n为大于等于1的整数;并往HBase表中填充多条记录,Region是真实存放Hbase数据的地方,也就说Region是HBase可用性和分布式的基本单位。可预先设置Hbase表中文件所占用的存储空间阈值和文件数量阈值。
本发明实施例中,为了保证Region的数量在一定的范围,需要对HBase表中的Region进行合并操作。首先根据用户输入HBase表的表名,调用HBase API获取HBase表的Region列表RegionsInfo;该列表RegionsInfo包括每个Region的信息TregionInfo:起始键值startKey、终止键值endKey、名称name、服务名称serverName、版本version、标识id等;可按照startKey的顺序对每个Region排列。比如:
startKey=”排在
startKey='0110324100032007126-79829274-79829274886359-341631-48025840-48020000-0-01#010'的前面。
本发明实施例提供了一种可选地Region列表RegionsInfo的具体格式:
[TregionInfo(endKey='0110324100032007126-79829274-79829274886359-341631-48025840-48020000-0-01#010',name='user,1513833662038.0c9a9ba5d4927348c241c72f5d8dbd99.',serverName='d0204009',port=60020,startKey=”,version=1,id=1513833662038),
[TregionInfo(endKey='0157900601461526-79838768-79838768854072-257271-01025810-00155800-X-Q1#010',name='user,
0110324100032007126-79829274-79829274886359-341631-48025840-48020000-0-01#010,1513604444761.60ccd51b1fc3ccb12dac6e697d0600f7.',
serverName='d0204009',port=60020,
startKey='0110324100032007126-79829274-79829274886359-341631-48025840-48020000-0-01#010',version=1,id=1513604444761)]。
本发明实施例中,根据所述Region列表RegionsInfo中的各Region的名称Region_name确定出各Region在HDFS文件中路径Region_path信息;根据所述路径Region_path信息查询出所述各Region对应的所述HDFS文件的属性信息。可选地,文件的属性信息包括Region对应的文件所占用的存储空间、Region对应的文件数量、是否包含.tmp目录,可分别命名为length、fileCount、containsTmp;并将Region_name、Region_path、length、fileCount、containsTmp保存在对应的Region的TregionInfo;得到的TregionInfo格式如下:
TregionInfo(endKey,name,serverName,port,startKey,version,id,Region_name,hdfs_path,length,fileCount,containsTmp)。
基于图1所示的系统架构,图2示例性示出了本发明实施例提供的一种分布式文件系统HBase表的Region合并方法的方法流程示意图,如图2所示,该HBase表的Region合并方法包括以下步骤:
步骤201,获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息,一个Region对应的HDFS文件的属性信息包括Region对应的文件所占用的存储空间;
步骤202,至少根据多个Region中每个Region对应的文件所占用的存储空间,对多个Region中的每相邻两个Region进行合并处理。
由于本发明实施例中,通过获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息:Region对应的文件所占用的存储空间,根据多个Region中每个Region对应的文件所占用的存储空间,对多个Region中的每相邻两个Region进行合并处理。通过本发明实施例中基于Region对应的文件所占用的存储空间进行合并,有助于提高相邻两个Region进行合并的精度;进一步,是自动确定出要合并的相邻两个Region,不需要人手工操作,可提高Region合并的效率。
为了便于对每相邻两个Region的合并处理,本发明实施例中可根据获取到的RegionsInfo构造相邻两个Region的二维数组,可命名为Regions_Pair;Region[i]为第i对相邻的两个Region,而Region[i][0]为第i对的第一个Region,Region[i][1]为第i对的第二个Region。Regions_pair格式如下:
[[TregionInfo,TregionInfo]……[TregionInfo,TregionInfo]]。
本发明实施例提供了一种根据Region的对应的文件所占用的存储空间确定是否需要对相邻的两个Region对进行合并处理的实现方式。具体为:所述至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理,包括:针对第一Region和第二Region,确定所述第一Region和所述第二所述Region的对应的文件所占用的存储空间的和;所述第一Region和所述第二Region是所述多个Region中任两个相邻的Region;根据所述文件所占用的存储空间的和以及存储空间阈值,确定所述第一Region和所述第二Region对应的第一评分;至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分;若所述总评分满足预设值,则对所述第一Region和所述第二Region进行合并处理。
本发明实施例,通过确定相邻两个Region对应的文件所占用的存储空间的和,确定相邻两个Region的第一评分,若第一评分满足预设值,则对相邻两个Region进行合并处理;如此,可以可提高筛选需要合并的相邻两个Region精确度。
为了进一步提高相邻两个Region合并的精确度,可对每对相邻的Region进行初始化,初始化的评分可以设置为零。再确定相邻两个Region(第一Region和第二所述Region)对应的文件所占用的存储空间的和(命名为Region_size_sum)。若文件占用的存储空间的和超过存储空间阈值(hbase.hRegion.max.filesize),则第一评分确定为零。由于文件占用的存储空间对合并的精度的影响较大,为了简化确定是筛选相邻两个Region的过程,当文件占用的存储空间的和超过存储空间阈值时,可不再进行其他的比较,直接确定这两个相邻的Region不进行合并处理。若文件占用的存储空间的和小于存储空间阈值,那文件占用的存储空间的和越小说明相邻两个Region合并的价值越大,第一评分就越高。一种可选地确定评分的方式:在原来评分(可以是初始化值)的基础上增加1–Region_size_sum/hbase.hRegion.max.filesize;其中,第一评分为1–Region_size_sum/hbase.hRegion.max.filesize。
可选地,将所述第一评分命名为score,并保存在对应的Regions_Pair二维数据组中,则Regions_Pair二维数组存储的信息如下:
[[TregionInfo,TregionInfo,score]……[TregionInfo,TregionInfo,score]]。
本发明实施例中,若两个Regions_Pair对应的文件所占用的存储空间的和相同时,其中,一个Regions_Pair下面Region的文件数量相比于另一个多时,由于文件数量少的Regions_Pair合并后发生压缩的概率较低,因此,文件数量少的Regions_Pair合并的价值较文件数量多的Regions_Pair合并的价值大。本发明实施例中,两个Regions_Pair对应的文件所占用的存储空间的和相同时,通过确定文件的Regions_Pair对应的文件的数量的和来提高筛选需要合并的相邻两个Region的精确度。
可选地,所述一个Region对应的HDFS文件的属性信息还包括:所述Region对应的文件数量;确定所述第一Region和所述第二所述Region的对应的文件数量的和;根据所述文件数量的和以及文件数量阈值,确定所述第一Region和所述第二Region对应的第二评分;所述至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分,包括:至少根据所述第一评分和所述第二评分确定所述第一Region和所述第二Region对应的总评分。
本发明实施例中,提供了一种可选地确定第二评分方式。若所述第一Region和所述第二所述Region的对应的文件数量的和(Region_file_num)小于文件数量阈值时,确定所述第一Region和所述第二Region对应的第二评分为:在原来的评分基础上增加0.1*(1/Region_file_num)。若所述第一Region和所述第二所述Region的对应的文件数量的和(Region_file_num)大于文件数量阈值时,所述第二评分设置为零。可选地,确定所述第一Region和所述第二Region对应的总评分为第一评分和所述第二评分的和。
本发明实施例中,如果Region处于压缩过程时,Region中存在Region的.tmp子目录。如果合并这些Region将带来性能和稳定性问题,因此需要考虑Region对应的HDFS文件的属性信息是否包括是否包含.tmp目录。
本发明实施例中,所述一个Region对应的HDFS文件的属性信息还包括:是否包含.tmp目录;根据所述第一Region和所述第二所述Region的对应的文件中是否包含.tmp格式文件的指示信息,确定所述第一Region和所述第二Region对应的第三评分;所述至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分,包括:至少根据所述第一评分、所述第二评分和所述第三评分确定所述第一Region和所述第二Region对应的总评分。
可选地,如果相邻两个Region对应的HDFS文件的属性信息还包括用于指示包含.tmp格式文件的指示信息,则第三评分设置为零,即不需要对包含指示包含.tmp格式文件的指示信息的第一Region和第二Region进行合并处理。若不包含.tmp格式文件的指示信息,则第三评分设置为原来的评分。
可选地,确定所述第一Region和所述第二Region对应的总评分为第一评分、所述第二评分和第三评分的和。
本发明实施例中,相邻两个Region形成Regions_pair,会出现一个Region存在多个Regions_pair中的场景;为了确保Region对中的列表在只包含唯一Region,增加Region合并的精度以及提高代码的稳定性,至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的相邻两个Region进行合并处理之前,还包括剔除重复的Region。具体可以剔除掉评分较低的Regions_pair中重复的Region。
本发明实施例,可以调用HBase API或者HBase shell中的Region合并方法依次对每个Regions_pair进行合并处理。
为了便于说明,本发明实施例以如下具体的例子来说明。假设Hbase表中有相邻的10个Region;文件所占用的存储空间阈值hbase.hRegion.max.filesize=10G、文件数量阈值hbase.hstore.compactionThreshold=5为例;假设每个Region对应的HDFS文件的属性信息如表1:
表1每个Region对应的HDFS文件的属性信息
针对表1中,将相邻两个Region确定为一个Regions_Pair,如表2所示:
表2Regions_Pair
Regions_Pair |
<RG01,RG02> |
<RG02,RG03> |
<RG03,RG04> |
<RG04,RG05> |
<RG05,RG06> |
<RG06,RG07> |
<RG07,RG08> |
<RG08,RG09> |
<RG09,RG10> |
针对每个Regions_Pair中的第一Region和第二Region,确定所述第一Region和所述第二所述Region的对应的文件所占用的存储空间的和、文件数量的和以及是否包含.tmp格式文件的指示信息。根据所述文件所占用的存储空间的和超过存储空间阈值时第一评分为零,文件占用的存储空间的和小于存储空间阈值时,第一评分在原来评分(可以是初始化值)的基础上增加1–Region_size_sum/hbase.hRegion.max.filesize。文件数量的和(Region_file_num)小于文件数量阈值时,第二评分为在原来的评分基础上增加0.1*(1/Region_file_num);若所述第一Region和所述第二所述Region的对应的文件数量的和(Region_file_num)大于文件数量阈值时,所述第二评分设置为零。相邻两个Region对应的HDFS文件的属性信息还包括.tmp目录,则第三评分设置为零。根据所述第一评分、所述第二评分和所述第三评分确定出每个Regions_Pair对应的总评分如表3所示:
表3每个Regions_Pair对应的总评分
Regions_Pair | 评分score | 说明 |
<RG01,RG02> | 0.4142857 | - |
<RG02,RG03> | 0.42 | - |
<RG03,RG04> | 0.4111111 | - |
<RG04,RG05> | 0.3125 | - |
<RG05,RG06> | 0.52 | - |
<RG06,RG07> | 0.8166667 | - |
<RG07,RG08> | 0 | HDFS文件之和超过1G |
<RG08,RG09> | 0 | .tmp目录不为空 |
<RG09,RG10> | 0 | .tmp目录不为空 |
若所述总评分满足预设值,则对Regions_Pair进行合并处理。假设预设值为0.4,筛选出符合条件的Regions_Pair,如表4所示:
表4符合条件的Regions_Pair
剔除Regions_Pair当中重复的Regions。当某个Regions存在重复时,根据score的大小仅仅保留score值最大的Regions_Pair。从表4可以得知,RG02、RG03、RG05在列表中存在重复,因此根据列表的顺序,保留score较大的Region对,最终需要合并的Region_Pair如表5所示:
表5需要合并的Region_Pair
Regions_Pair | 评分score |
<RG02,RG03> | 0.42 |
<RG06,RG07> | 0.8166667 |
将Regions_Pair中剩余的Regions_Pair取出来,通过HBase API批量执行merge_Region操作,将所有符合条件的Region进行合并处理。
从上述内容可以看出:本发明实施例中,由于本发明实施例中,通过获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息:所述Region对应的文件所占用的存储空间,根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理。通过本发明实施例中基于Region对应的文件所占用的存储空间进行合并,有助于提高相邻两个Region进行合并的精度;进一步,是自动确定出要合并的相邻两个Region,不需要人手工操作,可提高Region合并的效率。
基于相同的技术构思,本发明实施例还提供一种HBase表的Region合并装置,该装置可执行上述方法实施例。图3为本发明实施例提供了一种HBase表的Region合并装置的结构示意图,如图3所示,该装置300包括获取单元301、处理单元302;可选地,还包括确定单元303。其中:
获取单元,用于获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息,一个Region对应的HDFS文件的属性信息包括所述Region对应的文件所占用的存储空间;处理单元,用于至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理。
可选地,所述处理单元,还用于:剔除重复的Region。
可选地,所述装置还包括确定单元,用于:针对第一Region和第二Region,确定所述第一Region和所述第二所述Region的对应的文件所占用的存储空间的和;所述第一Region和所述第二Region是所述多个Region中任两个相邻的Region;根据所述文件所占用的存储空间的和以及存储空间阈值,确定所述第一Region和所述第二Region对应的第一评分;所述处理单元,用于:至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分;若所述总评分满足预设值,则对所述第一Region和所述第二Region进行合并处理。
可选地,所述一个Region对应的HDFS文件的属性信息还包括:所述Region对应的文件数量;所述确定单元,用于:确定所述第一Region和所述第二所述Region的对应的文件数量的和;根据所述文件数量的和以及文件数量阈值,确定所述第一Region和所述第二Region对应的第二评分;所述处理单元,用于:至少根据所述第一评分和所述第二评分确定所述第一Region和所述第二Region对应的总评分。
可选地,所述一个Region对应的HDFS文件的属性信息还包括:是否包含.tmp目录;所述确定单元,用于:根据所述第一Region和所述第二所述Region的对应的文件中是否包含.tmp格式文件的指示信息,确定所述第一Region和所述第二Region对应的第三评分;所述处理单元,用于:至少根据所述第一评分、所述第二评分和所述第三评分确定所述第一Region和所述第二Region对应的总评分。
从上述内容可以看出:本发明实施例中,由于本发明实施例中,通过获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息:所述Region对应的文件所占用的存储空间,根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理。通过本发明实施例中基于Region对应的文件所占用的存储空间进行合并,有助于提高相邻两个Region进行合并的精度;进一步,是自动确定出要合并的相邻两个Region,不需要人手工操作,可提高Region合并的效率。
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现、当使用软件程序实现时,可以全部或部分地以计算机程序产品的形式实现。所述计算机程序产品包括一个或多个指令。在计算机上加载和执行所述计算机程序指令时,全部或部分地产生按照本申请实施例所述的流程或功能。所述计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。所述指令可以存储在计算机存储介质中,或者从一个计算机存储介质向另一个计算机存储介质传输,例如,所述指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。所述计算机存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。所述可用介质可以是磁性介质,(例如,软盘、硬盘、磁带、磁光盘(MO)等)、光介质(例如,CD、DVD、BD、HVD等)、或者半导体介质(例如ROM、EPROM、EEPROM、非易失性存储器(NAND FLASH)、固态硬盘(Solid State Disk,SSD))等。本领域内的技术人员应明白,本申请实施例可提供为方法、系统、或计算机程序产品。因此,本申请实施例可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请实施例可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请实施例是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。这些指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
显然,本领域的技术人员可以对本申请实施例进行各种改动和变型而不脱离本申请的精神和范围。这样,倘若本申请实施例的这些修改和变型属于本申请权利要求及其等同技术的范围之内,则本申请也意图包含这些改动和变型在内。
Claims (10)
1.一种分布式文件系统HBase表的Region合并方法,其特征在于,包括:
获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息,一个Region对应的HDFS文件的属性信息包括所述Region对应的文件所占用的存储空间;
剔除重复的Region;
至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理。
2.如权利要求1所述的方法,其特征在于,所述至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理,包括:
针对第一Region和第二Region,确定所述第一Region和所述第二所述Region的对应的文件所占用的存储空间的和;所述第一Region和所述第二Region是所述多个Region中任两个相邻的Region;
根据所述文件所占用的存储空间的和以及存储空间阈值,确定所述第一Region和所述第二Region对应的第一评分;
至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分;
若所述总评分满足预设值,则对所述第一Region和所述第二Region进行合并处理。
3.如权利要求2所述的方法,其特征在于,所述一个Region对应的HDFS文件的属性信息还包括:所述Region对应的文件数量;
确定所述第一Region和所述第二所述Region的对应的文件数量的和;
根据所述文件数量的和以及文件数量阈值,确定所述第一Region和所述第二Region对应的第二评分;
所述至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分,包括:
至少根据所述第一评分和所述第二评分确定所述第一Region和所述第二Region对应的总评分。
4.如权利要求3所述的方法,其特征在于,所述一个Region对应的HDFS文件的属性信息还包括:是否包含.tmp目录;
根据所述第一Region和所述第二所述Region的对应的文件中是否包含.tmp格式文件的指示信息,确定所述第一Region和所述第二Region对应的第三评分;
所述至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分,包括:
至少根据所述第一评分、所述第二评分和所述第三评分确定所述第一Region和所述第二Region对应的总评分。
5.一种分布式文件系统HBase表的Region合并装置,其特征在于,包括:
获取单元,用于获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息,一个Region对应的HDFS文件的属性信息包括所述Region对应的文件所占用的存储空间;
处理单元,用于剔除重复的Region,并至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理。
6.如权利要求5所述的装置,其特征在于,还包括确定单元,用于:
针对第一Region和第二Region,确定所述第一Region和所述第二所述Region的对应的文件所占用的存储空间的和;所述第一Region和所述第二Region是所述多个Region中任两个相邻的Region;根据所述文件所占用的存储空间的和以及存储空间阈值,确定所述第一Region和所述第二Region对应的第一评分;
所述处理单元,用于:
至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分;若所述总评分满足预设值,则对所述第一Region和所述第二Region进行合并处理。
7.如权利要求6所述的装置,其特征在于,所述一个Region对应的HDFS文件的属性信息还包括:所述Region对应的文件数量;
所述确定单元,用于:
确定所述第一Region和所述第二所述Region的对应的文件数量的和;根据所述文件数量的和以及文件数量阈值,确定所述第一Region和所述第二Region对应的第二评分;
所述处理单元,用于:
至少根据所述第一评分和所述第二评分确定所述第一Region和所述第二Region对应的总评分。
8.如权利要求7所述的装置,其特征在于,所述一个Region对应的HDFS文件的属性信息还包括:是否包含.tmp目录;
所述确定单元,用于:
根据所述第一Region和所述第二所述Region的对应的文件中是否包含.tmp格式文件的指示信息,确定所述第一Region和所述第二Region对应的第三评分;
所述处理单元,用于:
至少根据所述第一评分、所述第二评分和所述第三评分确定所述第一Region和所述第二Region对应的总评分。
9.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求1至4任一权利要求所述的方法。
10.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至4任一权利要求所述的方法。
Priority Applications (3)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810241805.3A CN108563698B (zh) | 2018-03-22 | 2018-03-22 | 一种HBase表的Region合并方法和装置 |
PCT/CN2019/078784 WO2019179449A1 (zh) | 2018-03-22 | 2019-03-19 | 一种HBase表的Region合并方法、装置及计算机设备 |
US16/977,687 US11372822B2 (en) | 2018-03-22 | 2019-03-19 | Method, device, and computer apparatus for merging regions of HBase table |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810241805.3A CN108563698B (zh) | 2018-03-22 | 2018-03-22 | 一种HBase表的Region合并方法和装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108563698A CN108563698A (zh) | 2018-09-21 |
CN108563698B true CN108563698B (zh) | 2021-11-23 |
Family
ID=63532967
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810241805.3A Active CN108563698B (zh) | 2018-03-22 | 2018-03-22 | 一种HBase表的Region合并方法和装置 |
Country Status (3)
Country | Link |
---|---|
US (1) | US11372822B2 (zh) |
CN (1) | CN108563698B (zh) |
WO (1) | WO2019179449A1 (zh) |
Families Citing this family (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108563698B (zh) | 2018-03-22 | 2021-11-23 | 中国银联股份有限公司 | 一种HBase表的Region合并方法和装置 |
CN111880810B (zh) * | 2020-07-28 | 2022-12-27 | 苏州浪潮智能科技有限公司 | 一种服务实例部署方法、装置及电子设备和存储介质 |
CN114564450B (zh) * | 2022-03-04 | 2023-02-28 | 北京宇信科技集团股份有限公司 | 分布式文件系统的处理方法、装置、系统、介质和设备 |
US20240070138A1 (en) * | 2022-08-25 | 2024-02-29 | Databricks Inc. | Efficient merge of tabular data with deletion indications |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103631940A (zh) * | 2013-12-09 | 2014-03-12 | 中国联合网络通信集团有限公司 | 一种应用于hbase数据库的数据写入方法及系统 |
CN104199901A (zh) * | 2014-08-27 | 2014-12-10 | 浪潮集团有限公司 | 一种批量合并hbase表regions的方法 |
CN104346564A (zh) * | 2013-08-02 | 2015-02-11 | 中国银联股份有限公司 | 一种基于Web的安全的用户交互方法 |
CN105005617A (zh) * | 2015-07-21 | 2015-10-28 | 领航动力信息系统有限公司 | 一种时间序列数据的存储方法及装置 |
Family Cites Families (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US9842126B2 (en) * | 2012-04-20 | 2017-12-12 | Cloudera, Inc. | Automatic repair of corrupt HBases |
US9501483B2 (en) * | 2012-09-18 | 2016-11-22 | Mapr Technologies, Inc. | Table format for map reduce system |
CN103593436B (zh) * | 2013-11-12 | 2017-02-08 | 华为技术有限公司 | 文件合并方法和装置 |
CN106843763A (zh) * | 2017-01-19 | 2017-06-13 | 北京神州绿盟信息安全科技股份有限公司 | 一种基于hdfs系统的文件合并方法及装置 |
CN108563698B (zh) * | 2018-03-22 | 2021-11-23 | 中国银联股份有限公司 | 一种HBase表的Region合并方法和装置 |
-
2018
- 2018-03-22 CN CN201810241805.3A patent/CN108563698B/zh active Active
-
2019
- 2019-03-19 US US16/977,687 patent/US11372822B2/en active Active
- 2019-03-19 WO PCT/CN2019/078784 patent/WO2019179449A1/zh active Application Filing
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104346564A (zh) * | 2013-08-02 | 2015-02-11 | 中国银联股份有限公司 | 一种基于Web的安全的用户交互方法 |
CN103631940A (zh) * | 2013-12-09 | 2014-03-12 | 中国联合网络通信集团有限公司 | 一种应用于hbase数据库的数据写入方法及系统 |
CN104199901A (zh) * | 2014-08-27 | 2014-12-10 | 浪潮集团有限公司 | 一种批量合并hbase表regions的方法 |
CN105005617A (zh) * | 2015-07-21 | 2015-10-28 | 领航动力信息系统有限公司 | 一种时间序列数据的存储方法及装置 |
Also Published As
Publication number | Publication date |
---|---|
US11372822B2 (en) | 2022-06-28 |
CN108563698A (zh) | 2018-09-21 |
US20200394163A1 (en) | 2020-12-17 |
WO2019179449A1 (zh) | 2019-09-26 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN108563698B (zh) | 一种HBase表的Region合并方法和装置 | |
KR101885688B1 (ko) | 낮은 지연속도 데이터 액세스를 위한 데이터 스트림의 분할 | |
CN107622091B (zh) | 一种数据库查询方法和装置 | |
CN106407207B (zh) | 一种实时新增数据更新方法和装置 | |
US11296940B2 (en) | Centralized configuration data in a distributed file system | |
CN102708165B (zh) | 分布式文件系统中的文件处理方法及装置 | |
CN110347651B (zh) | 基于云存储的数据同步方法、装置、设备及存储介质 | |
US20160350302A1 (en) | Dynamically splitting a range of a node in a distributed hash table | |
US9210219B2 (en) | Systems and methods for consistent hashing using multiple hash rings | |
JP2021503643A (ja) | ブロックチェーン上の大量トランザクション性能を最適化するための方法、装置、コンピュータ・プログラムおよびコンピュータ・プログラムを記録したコンピュータ可読記憶媒体 | |
CN106325756B (zh) | 一种数据存储、数据计算方法和设备 | |
CN106775470B (zh) | 一种数据存储的方法及系统 | |
CN110750335A (zh) | 资源创建方法、装置和服务器 | |
CN109388614A (zh) | 一种目录文件个数配额的方法、系统及设备 | |
CN110569224A (zh) | 一种数据去重方法及装置 | |
CN111291002A (zh) | 文件对账方法、装置、计算机设备及存储介质 | |
US11223675B2 (en) | Hash data structure biasing | |
CN112181829B (zh) | Ab实验的用户分流方法、装置、终端及介质 | |
CN111125011B (zh) | 一种文件处理方法、系统及相关设备 | |
CN109151016B (zh) | 流量转发方法和装置、服务系统、计算设备及存储介质 | |
CN115033551A (zh) | 一种数据库迁移方法、装置、电子设备及存储介质 | |
CN111221857B (zh) | 从分布式系统中读数据记录的方法和装置 | |
US20190121894A1 (en) | Parallel map and reduce on hash chains | |
CN107085501B (zh) | 一种数据存储、数据迁移方法及装置 | |
CN107085571B (zh) | 一种校验规则的执行方法和装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |