[发明专利]离线小文件处理方法及装置在审
申请号: | 201710888790.5 | 申请日: | 2017-09-27 |
公开(公告)号: | CN107577809A | 公开(公告)日: | 2018-01-12 |
发明(设计)人: | 谢永恒;李鑫;火一莽;万月亮 | 申请(专利权)人: | 北京锐安科技有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京品源专利代理有限公司11332 | 代理人: | 孟金喆 |
地址: | 100044 北京市海淀区西小口*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 离线 文件 处理 方法 装置 | ||
技术领域
本发明实施例涉及分布式计算技术领域,尤其涉及一种离线小文件处理方法及装置。
背景技术
对于大数据的离线分析工作,采取将流式数据转换成parquet列式存储格式文件方式,并结合spark-sql等技术手段进行离线分析。其中实时接入的流式数据,会从Kafka上获取并实时转换成parquet文件,采用HDFS文件系统方式进行存储,最后作为离线分析工具的源文件。Hadoop分布式文件系统(Hadoop distributed file system,HDFS)被设计成适合运行在通用硬件(commodity hardware)上的分布式文件系统,具有高度容错、高吞吐量等特性,非常适合大规模数据集上的应用。但Hadoop的设计之初主要是面向流式处理的,对于处理大量远小于block size值的小文件时候,由于设计机制的问题,会出现响应速度大幅下降,严重影响性能,甚至导致无法正常运行的现象。由于数据来自各厂商、分光等实时接入数据,离线分析文件生成系统会对Kafka上的每条日志信息进行实时的文件转换工作,从而形成了大量的小文件供后续产品分析,与此同时,产生的大量远小于block size的小文件,大大影响了Hadoop存储的读取性能。
发明内容
针对上述技术问题,本发明实施例提供了一种离线小文件处理方法及装置,以提高Hadoop系统存储的读取性能,有效的降低Hadoop系统中nameNode上内存的占用率。
一方面,本发明实施例提供了一种离线小文件处理方法,运行于Hadoop 分布式处理系统上,所述方法包括:
由HDFS中读取列式存储文件,其中,列式存储文件的大小小于预定的文件大小设定值;
提供进行数据处理指定的配置;
根据所述配置,基于Map-Reduce计算模型,对所述列式存储文件进行预处理及合并;
基于Map-Reduce计算模型,按照指定的归并频率将执行预处理及合并后的所述列式存储文件归并为大文件。
另一方面,本发明实施例还提供了一种离线小文件处理装置,集成在 Hadoop分布式处理系统中,所述装置包括:
读取模块,用于由HDFS中读取列式存储文件,其中,列式存储文件的大小小于预定的文件大小设定值;
配置模块,用于提供进行数据处理指定的配置;
预处理模块,用于根据所述配置,基于Map-Reduce计算模型,对所述列式存储文件进行预处理及合并;
归并模块,用于基于Map-Reduce计算模型,按照指定的归并频率将执行预处理及合并后的所述列式存储文件归并为大文件。
本发明实施例提供的离线小文件处理方法及装置,通过读取列式存储文件,提供进行数据处理执行的配置,对列式存储文件进行预处理及合并,以及按照指定的归并频率将执行预处理及合并后的列式存储文件归并为大文件,大大提高了Hadoop系统存储的读取性能,能够有效的降低Hadoop系统中 nameNode上内存的占用率。
附图说明
通过阅读参照以下附图所作的对非限制性实施例所作的详细描述,本发明的其它特征、目的和优点将会变得更明显:
图1是本发明第一实施例提供的离线小文件处理方法的流程示意图;
图2是本发明第一实施例提供的运行离线小文件处理方法的系统的逻辑结构示意图;
图3是本发明第二实施例提供的离线小文件处理方法的流程示意图;
图4是本发明第三实施例提供的离线小文件处理方法中预处理的流程示意图;
图5是本发明第四实施例提供的离线小文件处理方法中遗弃数据处理的流程示意图;
图6是本发明第五实施例提供的离线小文件处理方法中文件归并的流程示意图;
图7是本发明第六实施例提供的离线小文件处理装置的结构示意图。
具体实施方式
下面结合附图和实施例对本发明作进一步的详细说明。可以理解的是,此处所描述的具体实施例仅仅用于解释本发明,而非对本发明的限定。另外还需要说明的是,为了便于描述,附图中仅示出了与本发明相关的部分而非全部结构。
第一实施例
本实施例提供了离线小文件处理方法的一种技术方案。在该技术方案中,离线小文件处理方法由离线小文件处理装置执行,并且,离线小文件处理装置通常集成在Hadoop分布式数据处理系统之中。
参见图1,离线小文件处理方法包括:
S11,由HDFS中读取列式存储文件。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于北京锐安科技有限公司,未经北京锐安科技有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201710888790.5/2.html,转载请声明来源钻瓜专利网。