处理压缩文件的方法和装置的制造方法

文档序号:8264967阅读:468来源:国知局
处理压缩文件的方法和装置的制造方法
【技术领域】
[0001]本发明涉及计算机技术领域,特别地涉及一种处理压缩文件的方法和装置。
【背景技术】
[0002]在大数据领域中,数据压缩是一项非常重要的技术,对海量数据进行压缩存储,能够节省服务器存储空间,提高数据处理效率,减少内存和磁盘I/o开销,提高大数据的SQL查询效率。
[0003]LZO(Lempel-Ziv-Oberhumer)是致力于解压速度的一种数据压缩算法,这个算法是无损算法,参考实现程序是线程安全的,并且具有解压简单、速度非常快,解压不需要内存,压缩相当地快等特点。
[0004]由于Presto和LZO遵循不同的开源协议,Presto遵循Apache Licence 2.0(—个在Apache软件基金会发布的自由软件许可证),而LZO遵循GPL (General Public License,是一个广泛被使用的自由软件许可协议条款)协议,因此Presto无法在源码中集成LZO源码并实现对LZO压缩格式的支持。

【发明内容】

[0005]有鉴于此,本发明提供一种处理压缩文件的方法和装置,能够使Presto支持LZO压缩格式。
[0006]为实现上述目的,根据本发明的一个方面,提供了一种处理压缩文件的方法。
[0007]本发明的处理压缩文件的方法包括:在Presto服务器启动时,将Hadoop-1zo插件作为第三方插件导入;在所述Presto服务器读取到Izo压缩格式的文件的情况下,使用所述Hadoop-1zo插件处理所述Izo压缩格式的文件。
[0008]可选地,在所述Presto服务器读取到Izo压缩格式的文件的情况下,还包括:判断所述Izo压缩格式的文件是否存在索引文件,若是,则根据该索引文件对所述Izo压缩格式的文件进行分片得到多个数据片;使用所述Hadoop-lzo插件处理所述Izo压缩格式的文件的步骤包括:使用所述Hadoop-lzo插件,对所述多个数据片进行并行处理。
[0009]可选地,在使用所述Hadoop-1zo插件处理Izo压缩格式的数据时,调用Izo解压缩函数;其中该Izo解压缩函数继承通用的解压缩函数,并且使用Hadoop-lzo插件提供的接口进行重写。
[0010]根据本发明的另一方面,提供了一种处理压缩文件的装置。
[0011]本发明的处理压缩文件的装置包括:插件导入模块,用于在Presto服务器启动时,将Hadoop-1zo插件作为第三方插件导入;处理模块,用于在所述Presto服务器读取到Izo压缩格式的文件的情况下,使用所述Hadoop-1zo插件处理所述Izo压缩格式的文件。
[0012]可选地,所述处理模块还用于在所述Presto服务器读取到Izo压缩格式的文件的情况下,判断所述Izo压缩格式的文件是否存在索引文件,若是,则根据该索引文件对所述Izo压缩格式的文件进行分片得到多个数据片;以及使用所述Hadoop-lzo插件,对所述多个数据片进行并行处理。
[0013]可选地,所述处理模块还用于在使用所述Hadoop-1zo插件处理Izo压缩格式的数据时,调用Izo解压缩函数;其中该Izo解压缩函数继承通用的解压缩函数,并且使用Hadoop-1zo插件提供的接口进行重写。
[0014]根据本发明的技术方案,在Presto服务器启动时,将Hadoop-1zo插件作为第三方插件导入,利用Hadoop-1zo插件处理Izo压缩格式的文件。Hadoop-1zo插件提供了对LZO压缩文件进行各种处理的接口,因此通过该插件提供的公共接口可以实现对LZO压缩文件的处理,也不会带来使用LZO源码时开源协议不统一的困扰。这样就使得Presto能够支持LZO压缩格式。另外,通过处理LZO索引对LZO文件进行分片并行处理,能够进一步提高数据处理速度。如需要支持其他压缩格式,只需要添加新的插件,并使用该插件提供的接口重写通用的解压缩函数即可,使系统功能易于扩展。
【附图说明】
[0015]附图用于更好地理解本发明,不构成对本发明的不当限定。其中:
[0016]图1是根据本发明实施例的Presto服务器、插件接口、第三方插件的关系的示意图;
[0017]图2是根据本发明实施例的处理压缩文件的方法的基本步骤的示意图;
[0018]图3是根据本发明实施例的处理压缩文件的装置的主要模块的示意图。
【具体实施方式】
[0019]以下结合附图对本发明的示范性实施例做出说明,其中包括本发明实施例的各种细节以助于理解,应当将它们认为仅仅是示范性的。因此,本领域普通技术人员应当认识到,可以对这里描述的实施例做出各种改变和修改,而不会背离本发明的范围和精神。同样,为了清楚和简明,以下的描述中省略了对公知功能和结构的描述。
[0020]本发明实施例利用了 Presto提供的对第三方插件的支持功能,基本原理为:将第三方插件集成到Presto服务器插件集合中,在Presto服务器启动时,动态导入第三方插件。Presto运行时动态查找并绑定第三方插件,调用第三方插件提供的接口,从而将第三方插件的功能集成到Presto中。在本发明实施例中,将Hadoop-1zo插件导入到Presto插件集合中作为第三方插件,Presto动态绑定该插件。图1是根据本发明实施例的Presto服务器、插件接口、第三方插件的关系的示意图。
[0021]图2是根据本发明实施例的处理压缩文件的方法的基本步骤的示意图。该方法由Presto服务器执行。
[0022]步骤S21 !Presto服务器启动。
[0023]步骤S22:将Hadoop-1zo插件作为第三方插件导入。
[0024]步骤S23:从数据源中读取数据。
[0025]步骤S24:判断读取到的数据是否为Izo压缩格式的文件,若是,进入步骤S25,否则进入步骤S26。
[0026]步骤S25:使用Hadoop-1zo插件处理Izo压缩格式的文件。
[0027]步骤S26:根据读取到
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1