1、10申请公布号CN104199901A43申请公布日20141210CN104199901A21申请号201410427005222申请日20140827G06F17/30200601G06F9/4420060171申请人浪潮集团有限公司地址250101山东省济南市高新区舜雅路1036号72发明人范莹于治楼梁华勇74专利代理机构济南信达专利事务所有限公司37100代理人姜明54发明名称一种批量合并HBASE表REGIONS的方法57摘要本发明公开了一种批量合并HBASE表REGIONS的方法,涉及大数据技术领域,通过获取HBASE表的REGIONNAME列表,实现导出各个HBASE表的REGI
2、ONS的名称列表,保存为与表名同名的文本文件;通过修改HBASE脚本,添加配置文件路径;通过执行脚本MERGESH,MERGESH脚本轮询每个REGIONS的名称列表,将两个相邻REGION进行MERGE,达到批量合并的目的。该方法在大数据平台基础上,将HBASE表的大量REGIONS进行批量合并,解决因预分规则不恰当或初始REGIONSIZE过小而导致的空REGION、小REGION、SPLIT过于频繁,以及打开文件数过多等问题,提高了系统的稳定性和应用程序的效率。51INTCL权利要求书2页说明书3页附图1页19中华人民共和国国家知识产权局12发明专利申请权利要求书2页说明书3页附图1页1
3、0申请公布号CN104199901ACN104199901A1/2页21一种批量合并HBASE表REGIONS的方法,其特征在于,主要包括三个步骤第一步,获取HBASE表的REGIONNAME列表;第二步,修改HBASE脚本;第三步是执行脚本MERGESH;通过第一步,导出各个HBASE表的REGIONS的名称列表,保存为与表名同名的文本文件,供下一步合并使用;通过第二步修改HBASE脚本,添加配置文件路径;通过第三步,执行根据REGIONNAME列表对REGION进行合并的脚本MERGESH,MERGESH脚本轮询每个REGIONS的名称列表,将两个相邻REGION进行MERGE,完成批量合
4、并。2根据权利要求1所述的一种批量合并HBASE表REGIONS的方法,其特征在于,所述获取HBASE表的REGIONNAME列表的具体内容包括启动HBASE,在浏览器中打开HBASE监控页面,打开要MERGE的表,进入相应框面;新建一个EXCEL文件,从“数据”菜单中选择“自网站”,将上面打开的表的URL复制到地址输入框中,选中“TABLEREGIONS”表,导入到EXCEL中;然后将NAME下面的所有值复制黏贴到文本文件中,以表名为文件名进行保存;将所有需要MERGE的表执行上面的操作,并将所有文件上传到集群的MASTER服务器上。3根据权利要求2所述的一种批量合并HBASE表REGION
5、S的方法,其特征在于,所述修改HBASE脚本是指在HBASE命令脚本中添加EXPORTHADOOP_CONF_DIR/BIGDATA/HADOOP/CONFCLASSPATHCLASSPATHHADOOP_CONF_DIR。4根据权利要求3所述的一种批量合并HBASE表REGIONS的方法,所述执行脚本MERGESH的具体过程如下/BIN/BASHECHOSTOPHBASE/BIGDATA/HBASE/BIN/STOPHBASESH从参数1中获取REGIONNAME列表文件所在目录INPUTDIR1INPUTDIRCD“INPUTDIR“/DEV/NULLPWD对目录下的每个文件进行下面操作F
6、ORFINLSINPUTDIRDO取出表名TABLENAMEBASENAME“F“取出REGION列表REGIONLISTAWKPRINT0INPUTDIR/F对REGIONLIST里的每一个REGION进行下面操作FORI0IMERGELOG权利要求书CN104199901A2/2页3ECHOCOMMMERGELOGECHOHBASEORGAPACHEHADOOPHBASEUTILMERGECOMMMERGELOG/BIGDATA/HBASE/BIN/HBASEORGAPACHEHADOOPHBASEUTILMERGECOMMSLEEP1DONEDONEECHOSTARTHBASE/BIGD
7、ATA/HBASE/BIN/STARTHBASESH。权利要求书CN104199901A1/3页4一种批量合并HBASE表REGIONS的方法技术领域0001本发明涉及大数据技术领域,具体地说是一种批量合并HBASE表REGIONS的方法。背景技术0002HBASE是一个分布式的、面向列的开源数据库,是HADOOP集群的最常见数据库,适合于非结构化、海量数据的存储。HBASE能够方便的扩展列族和列,以增加存储信息;也可以方便的横向扩展节点,以增加计算和存储能力。这种便利也带来一些问题,最常见的就是初始设置REGIONSIZE过小,或者对某个表的REGION预分规则不恰当,出现空REGION、小
8、REGION、SPLIT过于频繁,以及打开文件数超出系统上限等问题,影响进程运行效率,严重时会导致系统崩溃。为解决这写问题,就必须要对REGION进行MERGE操作。但是HBASE提供的MERGE命令一次只能对两个REGION进行合并,这对已存在TB级数据的HBASE是很难手工进行的。发明内容0003本发明针对现有技术存在的不足之处,提供了一种对列式数据库HBASE的REGIONS进行批量合并的方法。0004本发明所述一种批量合并HBASE表REGIONS的方法,解决上述技术问题采用的技术方案如下所述批量合并HBASE表REGIONS的方法,首先获取HBASE表的REGIONNAME列表,然后
9、修改HBASE脚本,最后执行根据REGIONNAME列表对REGION进行合并的脚本MERGESH,进行合并REGIONS的脚本MERGESH,以完成批量合并HBASE表的REGIONS。0005通过第一步获取HBASE表的REGIONNAME列表,实现导出各个HBASE表的REGIONS的名称列表,保存为与表名同名的文本文件,供下一步合并使用;通过第二步修改HBASE脚本,添加配置文件路径;通过第三步执行脚本MERGESH,MERGESH脚本轮询每个REGIONS的名称列表,将两个相邻REGION进行MERGE(合并),达到批量合并的目的。0006本发明所述一种批量合并HBASE表REGIO
10、NS的方法与现有技术对比具有的有益效果该批量合并HBASE表REGIONS的方法在大数据平台基础上,将HBASE表的大量REGIONS分区进行批量合并,解决因预分规则不恰当或初始REGIONSIZE过小而导致的空REGION、小REGION、SPLIT过于频繁,以及打开文件数过多等问题,避免因REGIONSIZE过小或REGIONS数过多造成的系统崩溃和应用程序效率低,提高了系统性能,有效解决了HBASE表加载异常的问题。附图说明0007附图1为本实施例所述安全云存储层的结构框图。说明书CN104199901A2/3页5具体实施方式0008为使本发明的目的、技术方案和优点更加清楚明白,下文中将
11、结合附图对本发明的一种批量合并HBASE表REGIONS的方法进行详细说明。0009本发明所述一种批量合并HBASE表REGIONS的方法,主要包括三个步骤第一步是获取HBASE表的REGIONNAME列表;第二步,修改HBASE脚本;第三步是执行脚本MERGESH;通过第一步,实现导出各个HBASE表的REGIONS的名称列表,保存为与表名同名的文本文件,供下一步合并使用;通过第二步修改HBASE脚本,添加配置文件路径;通过第三步执行脚本MERGESH,MERGESH脚本轮询每个REGIONS的名称列表,将两个相邻REGION进行MERGE,达到批量合并的目的。0010实施例下面通过一个实施
12、例,对本发明所述一种批量合并HBASE表REGIONS的方法的优点和设计内容,进行详细说明。0011本实施例所述批量合并HBASE表REGIONS的方法,首先获取HBASE表的REGIONNAME列表,然后修改HBASE脚本,最后执行根据REGIONNAME列表对REGION进行合并的脚本MERGESH,进行合并REGIONS的脚本MERGESH,以完成批量合并HBASE表的REGIONS。0012本实施例所述批量合并HBASE表REGIONS的方法中,所述获取HBASE表的REGIONNAME列表包括启动HBASE,在浏览器中打开HBASE监控页面HTTP/MASTER60010/,打开要M
13、ERGE的表,进入相应框面HTTP/MASTER60010/TABLEJSPNAMEDANGDANG。新建一个EXCEL文件,从“数据”菜单中选择“自网站”,将上面打开的表的URL复制到地址输入框中,选中“TABLEREGIONS”表,导入到EXCEL中。然后将NAME下面的所有值复制黏贴到文本文件中,以表名为文件名(不要扩展名)保存。将所有需要MERGE的表执行上面的操作。并将所有文件上传到集群的MASTER服务器上。0013本实施例所述批量合并HBASE表REGIONS的方法中,所述修改HBASE脚本包括在HBASE命令脚本中添加EXPORTHADOOP_CONF_DIR/BIGDATA/
14、HADOOP/CONFCLASSPATHCLASSPATHHADOOP_CONF_DIR。0014本实施例所述批量合并HBASE表REGIONS的方法中,所述执行脚本MERGESH的具体内容如下/BIN/BASHECHOSTOPHBASE/BIGDATA/HBASE/BIN/STOPHBASESH从参数1中获取REGIONNAME列表文件所在目录INPUTDIR1INPUTDIRCD“INPUTDIR“/DEV/NULLPWD对目录下的每个文件进行下面操作FORFINLSINPUTDIRDO取出表名说明书CN104199901A3/3页6TABLENAMEBASENAME“F“取出REGION
15、列表REGIONLISTAWKPRINT0INPUTDIR/F对REGIONLIST里的每一个REGION进行下面操作FORI0IMERGELOGECHOCOMMMERGELOGECHOHBASEORGAPACHEHADOOPHBASEUTILMERGECOMMMERGELOG/BIGDATA/HBASE/BIN/HBASEORGAPACHEHADOOPHBASEUTILMERGECOMMSLEEP1DONEDONEECHOSTARTHBASE/BIGDATA/HBASE/BIN/STARTHBASESH。0015附图1为执行脚本MERGESH的流程图,如附图1所示,执行脚本/MERGESH,
16、参数为保存REGION列表文件的目录;首先关闭HBASE进程,获取参数1并取出文件列表,若文件列表中有数据项,则取出文件列表名称,并取出该表内的REGIONS列表;并查看REGIONS列表中是否有数据项,若REGIONS列表中有数据项,则取出相邻两个REGION,并执行REGIONMERGE,然后再返回查看REGIONS列表中是否还有数据项;若REGIONS列表中没有数据项,则返回查看文件列表中是否还有数据项,若文件列表中没有数据项,则启动HBASE进程。0016上述具体实施方式仅是本发明的具体个案,本发明的专利保护范围包括但不限于上述具体实施方式,任何符合本发明的权利要求书的且任何所属技术领域的普通技术人员对其所做的适当变化或替换,皆应落入本发明的专利保护范围。说明书CN104199901A1/1页7图1说明书附图CN104199901A