[发明专利]一种实现Hadoop文件处理的方法及装置在审
申请号: | 201410203430.3 | 申请日: | 2014-05-14 |
公开(公告)号: | CN103970874A | 公开(公告)日: | 2014-08-06 |
发明(设计)人: | 辛国茂;赵仁明;房体盈;亓开元 | 申请(专利权)人: | 浪潮(北京)电子信息产业有限公司 |
主分类号: | G06F17/30 | 分类号: | G06F17/30 |
代理公司: | 北京安信方达知识产权代理有限公司 11262 | 代理人: | 王丹;栗若木 |
地址: | 100085 北京市海*** | 国省代码: | 北京;11 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 一种 实现 hadoop 文件 处理 方法 装置 | ||
技术领域
本发明涉及大数据领域,尤指一种实现分布式文件系统(hadoop)文件处理的方法及装置。
背景技术
随着人类社会全面进入信息时代,数据成为与水、石油同等重要的战略资源。通过挖掘海量数据,能够使政府和企业的运行决策建立在更加科学的依据基础上,提高决策效率、危机应对能力和公共服务水平。而大数据或称巨量资料,是指涉及规模巨大的资料量,目前主流软件工具无法对其进行有效的撷取、管理、处理,使其成为帮助企业进行积极经营决策的资讯。
分布式文件系统(Hadoop)是大数据发展过程中形成的主流处理系统,可是实现对大数据的分析处理。而映射(Map)规约(Reduce)是Hadoop进行数据处理的核心组件之一,通过MapReduce的编程模型,实现大规模数据集的并行运算。MapReduce极大地方便了编程人员在未掌握Hadoop并行编程的情况下,将自己的程序运行在hadoop上。当前软件的实现是通过指定一个映射(Map)函数,把一组键值对映射成一组新的键值对;通过指定并发的规约(Reduce)函数,确定所有映射的键值对中的每一个共享相同的键组。
通过采用Java语言编写的Hadoop中的MapReduce程序,采取文件的形式在Hadoop中实现输入和输出。Hadoop中缺省提供MapReduce程序所需的输入输出类,通过这些已有的类来处理文件输入输出(文本文件和二进制文件都可),TextInputFormat是处理文本文件时Hadoop缺省使用的工具类,它逐行读取文件内容供MapReduce进行程序处理。在Unix/Linux的应用环境下采用换行符(LF)表示下一行,Dos和Windows采用回车加换行符(CR+LF)表示下一行。而TextInputFormat则会把CR、LF、CR+LF都处理为断行。在Hadoop的数据文件中的字段可能包含有单独的CR字符(主要由于系统噪声等造成的误码);缺省的TextInputFormat在文件处理过程中会错误地把单独的CR字符处理为断行,当把单独的CR字符处理为断行的错误严重时,可能导致MapReduce任务执行失败。
目前,对缺省的TextInputFormat在文件处理过程中错误地把单独的CR字符处理为断行的问题,主要通过对文件进行预处理,把文件中的CR字符去掉,以重新形成新的文件进行处理。当数据文件中数据量大时则耗时较长,且形成新的文件需要额外占用磁盘空间。
发明内容
为了解决上述技术问题,本发明提供一种实现Hadoop文件处理的方法及装置,能够节省预处理过程中删除CR造成的耗时,避免占用额外的磁盘空间。
为了达到上述发明目的,本发明公开了一种实现Hadoop文件处理的方法,包括:
读取需要处理的分布式文件系统Hadoop的文本文件;
逐行提取文本文件并转换为映射Map规约Reduce接受的数据类型的内容;
逐行读取转换后的文本文件内容,以确定是否进行断行处理。
进一步地,逐行读取转换后的文本文件内容,以确定是否进行断行处理包括:
逐行读取转换后的文本文件内容,当文本文件内容的字段中包含换行符LF时,进行断行;或,
当文本文件内容的字段中包含回车符CR时,进一步判断CR的下一字符是否是LF,如果是,进行断行;否则,不断行。
一种实现Hadoop文件处理的装置,包括:读取单元、提取转换单元和确定单元;其中,
读取单元,用于读取需要处理的分布式文件系统Hadoop的文本文件;
提取转换单元,用于逐行提取文本文件并转换为映射Map规约Reduce接受的数据类型的内容;
确定单元,用于逐行读取转换后的文本文件内容,以确定是否进行断行处理。
进一步地,确定单元具体用于:
逐行读取转换后的文本文件内容,当文本文件内容的字段中包含换行符LF时,进行断行;或,
当文本文件内容的字段中包含回车符CR时,进一步判断CR的下一字符是否是LF,如果是,进行断行;否则,不断行。
本申请技术方案包括:读取需要处理的分布式文件系统(Hadoop)的文本文件;逐行提取文本文件并转换为映射(Map)规约(Reduce)接受的数据类型的内容;逐行读取转换后的文本文件内容,以确定是否进行断行处理。本发明通过将读取的文本文件直接转换为MapReduce接受的数据类型的内容,逐行的对处理为断行的内容进行确定,节省了预处理过程中删除CR造成的耗时,且不需要额外占用磁盘空间。
附图说明
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于浪潮(北京)电子信息产业有限公司,未经浪潮(北京)电子信息产业有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201410203430.3/2.html,转载请声明来源钻瓜专利网。
- 上一篇:一种具有储存功能的名片通
- 下一篇:钢琴用乐谱夹