CN108563698A - 一种HBase表的Region合并方法和装置 - Google Patents

一种HBase表的Region合并方法和装置 Download PDF

Info

Publication number
CN108563698A
CN108563698A CN201810241805.3A CN201810241805A CN108563698A CN 108563698 A CN108563698 A CN 108563698A CN 201810241805 A CN201810241805 A CN 201810241805A CN 108563698 A CN108563698 A CN 108563698A
Authority
CN
China
Prior art keywords
region
scoring
files
memory space
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.)
Granted
Application number
CN201810241805.3A
Other languages
English (en)
Other versions
CN108563698B (zh
Inventor
王亚雄
周继恩
王颖卓
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
China Unionpay Co Ltd
Original Assignee
China Unionpay Co Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by China Unionpay Co Ltd filed Critical China Unionpay Co Ltd
Priority to CN201810241805.3A priority Critical patent/CN108563698B/zh
Publication of CN108563698A publication Critical patent/CN108563698A/zh
Priority to PCT/CN2019/078784 priority patent/WO2019179449A1/zh
Priority to US16/977,687 priority patent/US11372822B2/en
Application granted granted Critical
Publication of CN108563698B publication Critical patent/CN108563698B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • G06F16/184Distributed file systems implemented as replicated file system
    • G06F16/1844Management specifically adapted to replicated file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/18File system types
    • G06F16/182Distributed file systems
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/10File systems; File servers
    • G06F16/13File access structures, e.g. distributed indices
    • G06F16/134Distributed indices
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/21Design, administration or maintenance of databases
    • G06F16/215Improving data quality; Data cleansing, e.g. de-duplication, removing invalid entries or correcting typographical errors
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/22Indexing; Data structures therefor; Storage structures
    • G06F16/2282Tablespace storage structures; Management thereof
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F16/00Information retrieval; Database structures therefor; File system structures therefor
    • G06F16/20Information retrieval; Database structures therefor; File system structures therefor of structured data, e.g. relational data
    • G06F16/24Querying
    • G06F16/245Query processing
    • G06F16/2455Query execution
    • G06F16/24553Query execution of query operations
    • G06F16/24554Unary operations; Data partitioning operations
    • G06F16/24556Aggregation; 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

一种HBase表的Region合并方法和装置
技术领域
本发明实施例涉及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 (12)

1.一种分布式文件系统HBase表的Region合并方法,其特征在于,包括:
获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息,一个Region对应的HDFS文件的属性信息包括所述Region对应的文件所占用的存储空间;
至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理。
2.如权利要求1所述的方法,其特征在于,所述至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的相邻两个Region进行合并处理之前,还包括:
剔除重复的Region。
3.如权利要求1所述的方法,其特征在于,所述至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理,包括:
针对第一Region和第二Region,确定所述第一Region和所述第二所述Region的对应的文件所占用的存储空间的和;所述第一Region和所述第二Region是所述多个Region中任两个相邻的Region;
根据所述文件所占用的存储空间的和以及存储空间阈值,确定所述第一Region和所述第二Region对应的第一评分;
至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分;
若所述总评分满足预设值,则对所述第一Region和所述第二Region进行合并处理。
4.如权利要求3所述的方法,其特征在于,所述一个Region对应的HDFS文件的属性信息还包括:所述Region对应的文件数量;
确定所述第一Region和所述第二所述Region的对应的文件数量的和;
根据所述文件数量的和以及文件数量阈值,确定所述第一Region和所述第二Region对应的第二评分;
所述至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分,包括:
至少根据所述第一评分和所述第二评分确定所述第一Region和所述第二Region对应的总评分。
5.如权利要求4所述的方法,其特征在于,所述一个Region对应的HDFS文件的属性信息还包括:是否包含.tmp目录;
根据所述第一Region和所述第二所述Region的对应的文件中是否包含.tmp格式文件的指示信息,确定所述第一Region和所述第二Region对应的第三评分;
所述至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分,包括:
至少根据所述第一评分、所述第二评分和所述第三评分确定所述第一Region和所述第二Region对应的总评分。
6.一种分布式文件系统HBase表的Region合并装置,其特征在于,包括:
获取单元,用于获取HBase表的多个Region中的每个Region对应的HDFS文件的属性信息,一个Region对应的HDFS文件的属性信息包括所述Region对应的文件所占用的存储空间;
处理单元,用于至少根据所述多个Region中每个Region对应的文件所占用的存储空间,对所述多个Region中的每相邻两个Region进行合并处理。
7.如权利要求6所述的装置,其特征在于,所述处理单元,还用于:
剔除重复的Region。
8.如权利要求6所述的装置,其特征在于,还包括确定单元,用于:
针对第一Region和第二Region,确定所述第一Region和所述第二所述Region的对应的文件所占用的存储空间的和;所述第一Region和所述第二Region是所述多个Region中任两个相邻的Region;根据所述文件所占用的存储空间的和以及存储空间阈值,确定所述第一Region和所述第二Region对应的第一评分;
所述处理单元,用于:
至少根据所述第一评分确定所述第一Region和所述第二Region对应的总评分;若所述总评分满足预设值,则对所述第一Region和所述第二Region进行合并处理。
9.如权利要求8所述的装置,其特征在于,所述一个Region对应的HDFS文件的属性信息还包括:所述Region对应的文件数量;
所述确定单元,用于:
确定所述第一Region和所述第二所述Region的对应的文件数量的和;根据所述文件数量的和以及文件数量阈值,确定所述第一Region和所述第二Region对应的第二评分;
所述处理单元,用于:
至少根据所述第一评分和所述第二评分确定所述第一Region和所述第二Region对应的总评分。
10.如权利要求9所述的装置,其特征在于,所述一个Region对应的HDFS文件的属性信息还包括:是否包含.tmp目录;
所述确定单元,用于:
根据所述第一Region和所述第二所述Region的对应的文件中是否包含.tmp格式文件的指示信息,确定所述第一Region和所述第二Region对应的第三评分;
所述处理单元,用于:
至少根据所述第一评分、所述第二评分和所述第三评分确定所述第一Region和所述第二Region对应的总评分。
11.一种计算机可读存储介质,其特征在于,所述计算机可读存储介质存储有计算机可执行指令,所述计算机可执行指令用于使所述计算机执行权利要求1至5任一权利要求所述的方法。
12.一种计算机设备,其特征在于,包括:
存储器,用于存储程序指令;
处理器,用于调用所述存储器中存储的程序指令,按照获得的程序执行如权利要求1至5任一权利要求所述的方法。
CN201810241805.3A 2018-03-22 2018-03-22 一种HBase表的Region合并方法和装置 Active CN108563698B (zh)

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 true CN108563698A (zh) 2018-09-21
CN108563698B 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)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019179449A1 (zh) * 2018-03-22 2019-09-26 中国银联股份有限公司 一种HBase表的Region合并方法、装置及计算机设备

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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 (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130282668A1 (en) * 2012-04-20 2013-10-24 Cloudera, Inc. Automatic repair of corrupt hbases
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 (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
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合并方法和装置

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20130282668A1 (en) * 2012-04-20 2013-10-24 Cloudera, Inc. Automatic repair of corrupt hbases
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 领航动力信息系统有限公司 一种时间序列数据的存储方法及装置

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2019179449A1 (zh) * 2018-03-22 2019-09-26 中国银联股份有限公司 一种HBase表的Region合并方法、装置及计算机设备
US11372822B2 (en) 2018-03-22 2022-06-28 China Unionpay Co., Ltd. Method, device, and computer apparatus for merging regions of HBase table

Also Published As

Publication number Publication date
US11372822B2 (en) 2022-06-28
US20200394163A1 (en) 2020-12-17
WO2019179449A1 (zh) 2019-09-26
CN108563698B (zh) 2021-11-23

Similar Documents

Publication Publication Date Title
CN108563698A (zh) 一种HBase表的Region合并方法和装置
CN103064639B (zh) 数据存储方法及装置
US10795874B2 (en) Creating index in blockchain-type ledger
CN112395293B (zh) 分库分表方法、分库分表装置、分库分表设备及存储介质
CN110058953A (zh) 用于改变存储系统的类型的方法、设备和计算机程序产品
US11226778B2 (en) Method, apparatus and computer program product for managing metadata migration
US11385823B2 (en) Method, electronic device and computer program product for rebuilding disk array
US20200348857A1 (en) Method, apparatus and computer program product for managing disk array
CN109299190A (zh) 分布式存储系统中处理对象的元数据的方法及装置
CN112651826B (zh) 授信额度管控系统、方法及可读存储介质
CN106325756A (zh) 一种数据存储、数据计算方法和设备
US20190026325A1 (en) Memory object pool use in a distributed index and query system
CN110569224A (zh) 一种数据去重方法及装置
US10037386B1 (en) Data replication optimization for online social network cloud computing
US8443369B1 (en) Method and system for dynamically selecting a best resource from each resource collection based on resources dependencies, prior selections and statistics to implement an allocation policy
US20210124517A1 (en) Method, device and computer program product for storing data
CN109597804A (zh) 基于大数据的客户合并方法及装置、电子设备及存储介质
CN114138181A (zh) 一种绑定池放置组选主的方法、装置、设备及可读介质
CN104378394A (zh) 一种服务器集群文件的更新方法及装置
US11093532B2 (en) Pre-allocating filesystem metadata within an object storage system
US11287997B2 (en) Method, electronic device and computer program product for managing disk array
CN116151872B (zh) 产品特性分析方法和装置
US10585855B1 (en) Optimizing file system layout for reduced raid processing
CN107895044A (zh) 一种数据库数据处理方法、装置和系统
US9747299B2 (en) Heterogeneous storing server and file storing method thereof

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