基于MapReduce的数据筛选抽取方法及系统与流程

文档序号:26140123发布日期:2021-08-03 14:24阅读:401来源:国知局
基于MapReduce的数据筛选抽取方法及系统与流程

本申请涉及数据筛选技术领域,特别是涉及基于mapreduce的数据筛选抽取方法及系统。



背景技术:

随着互联网的迅速发展及互联网用户的急剧增加,信息呈现爆炸式增长,面对海量的信息数据,企业如何进行数据存储、清洗、分析、挖掘处理,是一个非常严峻的考验。与此同时,广泛的数据来源、多样的数据类型以及复杂的处理环境,都让大数据处理变得极富有挑战。hadoop是一个分布式系统基础架构,它实现了一个具有高容错性、高吞吐量的分布式文件系统(hdfs),可为海量数据提供存储,而另一核心设计mapreduce,可为海量数据提供计算。

随着业务规模的不断扩大,经常会遇到许多这样的业务场景,根据实际业务需求,按照指定的过滤条件和抽取信息,从给定的一批大容量存储数据文本文件中,筛选抽取符合业务要求的数据进行统计和分析。对于不懂hdfs相关操作以及mapreduce计算的用户,则只能将详细需求告知特定的开发人员去实现相关操作,而对于特定的开发人员,面对日益增多的以及各种各样的数据处理任务,则需要频繁地编写不同的筛选抽取程序,然后编译打包运行处理,这样不仅无法快速实现用户处理数据的需求,也无法满足不断增多的数据处理任务效率,而且还大大地浪费了许多开发成本。

授权号为cn103150400b的中国专利文献一种基于mapreduce的数据筛选抽取方法,公开了技术方案,首先输入筛选需求:包括数据输入输出路径、筛选字段序号、筛选关键字及筛选上限下限;然后,进行数据筛选:统计筛选需求中的字段总数,然后循环遍历筛选字段总数,根据筛选需求筛选抽取范围或关键字对待筛选的数据进行范围筛选或关键字筛选;最后,输出筛选数据至输出路径

由于此方案是基于mapreduce框架通过筛选字段序号及关键词方式进行数据筛选,因此依然存在以下缺点:

1、无法处理结构复杂多样的数据类型;

2、无法满足多个筛选条件的复杂筛选,比如:数值和日期范围筛选、数组操作筛选、且或组合条件筛选等;

3、无法实现数据信息字段的抽取功能。

目前,针对无法进行结构复杂多样的数据类型的筛选问题,尚未提出有效的解决方案。



技术实现要素:

本申请实施例提供了一种基于mapreduce的数据筛选抽取方法及系统,通过统一的输入格式,高效地实现用户数据筛选需求,以至少解决相关技术中无法进行结构复杂多样的数据类型的筛选问题。

第一方面,本申请实施例提供了一种基于mapreduce的数据筛选抽取方法,包括以下步骤:

筛选抽取信息输入步骤,输入筛选抽取信息,筛选抽取信息包括:数据的输入路径、筛选需求信息、数据的输出路径,筛选需求信息包括输入分隔符、筛选条件信息、抽取字段信息和输出分隔符;

合法性判断步骤,判断筛选需求信息是否为空,若不为空,则判断筛选需求信息是否为json格式,若为json格式,则判断筛选需求信息是否符合预设规范,若符合,则继续判断输入路径是否存在,若存在,则判断输出路径是否不存在,若不存在则说明筛选抽取信息是合法的;

数据筛选步骤,在mapreduce框架下,初始化并解析筛选抽取信息,读取待筛选数据中每一行数据记录并进入map处理阶段,根据输入分隔符分隔数据记录,并判断待筛选数据是否包含筛选条件信息,若包含则进行数据筛选并获得对应的数据字段,若不包含则不筛选;

数据抽取步骤,判断待筛选数据是否包含抽取字段信息,若包含则对对应数据字段进行抽取并输出至输出路径。

在其中一些实施例中,数据筛选步骤具体包括:

筛选条件关系获取步骤,初始化筛选条件通过标识为true,获取筛选条件信息中各筛选条件项之间的逻辑关系;

筛选循环遍历步骤,判断是否循环遍历完成各筛选条件项,若已完成,则判断筛选条件通过标识是否为true,若是则保留该行数据记录,若否则忽略该行数据记录,若未完成,则进行下一步骤;

筛选判断步骤,判断一行数据记录是否符合该筛选条件项,

若符合该筛选条件项,判断逻辑关系是否为逻辑且,若为逻辑且,返回筛选循环遍历步骤,若逻辑关系不为逻辑且,则保留该行数据记录;

若不符合该筛选条件项,判断逻辑关系是否为逻辑且,若为逻辑且,则忽略该行数据记录,若不为逻辑且,则将筛选条件通过标识设置为false,并返回筛选循环遍历步骤。

在其中一些实施例中,筛选条件项包括筛选数据key、筛选数据类型、过滤动作、过滤条件值,判断数据记录是否符合筛选条件项的具体步为:

数据内容获取步骤,根据筛选数据key获得数据记录中相应的数据内容;

类型转换步骤,根据筛选数据类型,将数据内容进行数据解析及类型转换;

筛选判断步骤,根据过滤动作和过滤条件值,将数据内容按照相应的筛选方式和逻辑关系进行筛选判断。

在其中一些实施例中,抽取字段信息包括抽取数据key,抽取数据类型和抽取字段key,数据抽取步骤进一步包括:

相应数据获取步骤,根据抽取数据key从筛选得到的数据字段中获取相应的数据值;

数据转换步骤,根据抽取数据类型对数据值进行相应的数据解析转换并得到转换数据;

数据获取步骤,根据抽取字段key从转换数据中获取相应的抽取数据;

数据输出步骤,将抽取数据按照输出分隔符进行拼接,直至循环遍历抽取字段信息中的各抽取信息项,将拼接后的抽取数据输出至输出路径。

第二方面,本申请实施例提供了一种基于mapreduce的数据筛选抽取系统,应用第一方面的基于mapreduce的数据筛选抽取方法,包括:

筛选抽取信息输入模块,输入筛选抽取信息,筛选抽取信息包括:数据的输入路径、筛选需求信息、数据的输出路径,筛选需求信息包括输入分隔符、筛选条件信息、抽取字段信息和输出分隔符;

合法性判断模块,判断筛选需求信息是否为空,若不为空,则判断筛选需求信息是否为json格式,若为json格式,则判断筛选需求信息是否符合预设规范,若符合,则继续判断输入路径是否存在,若存在,则判断输出路径是否不存在,若不存在则说明筛选抽取信息是合法的;

数据筛选模块,在mapreduce框架下,初始化并解析筛选抽取信息,读取待筛选数据中每一行数据记录并进入map处理阶段,根据输入分隔符分隔数据记录,并判断待筛选数据是否包含筛选条件信息,若包含则进行数据筛选并获得对应的数据字段,若不包含则不筛选;

数据抽取模块,判断待筛选数据是否包含抽取字段信息,若包含则对对应数据字段进行抽取并输出至输出路径。

在其中一些实施例中,数据筛选模块具体包括:

筛选条件关系获取单元,初始化筛选条件通过标识为true,获取筛选条件信息中各筛选条件项之间的逻辑关系;

筛选循环遍历单元,判断是否循环遍历完成各筛选条件项,若已完成,则判断筛选条件通过标识是否为true,若是则保留该行数据记录,若否则忽略该行数据记录,若未完成,则进行下一步骤;

筛选判断单元,判断一行数据记录是否符合该筛选条件项,

若符合该筛选条件项,判断逻辑关系是否为逻辑且,若为逻辑且,返回筛选循环遍历步骤,若逻辑关系不为逻辑且,则保留该行数据记录;

若不符合该筛选条件项,判断逻辑关系是否为逻辑且,若为逻辑且,则忽略该行数据记录,若不为逻辑且,则将筛选条件通过标识设置为false,并返回筛选循环遍历步骤。

在其中一些实施例中,筛选条件项包括筛选数据key、筛选数据类型、过滤动作、过滤条件值,筛选判断单元包括:

数据内容获取子单元,根据筛选数据key获得数据记录中相应的数据内容;

类型转换子单元,根据筛选数据类型,将数据内容进行数据解析及类型转换;

筛选判断子单元,根据过滤动作和过滤条件值,将数据内容按照相应的筛选方式和逻辑关系进行筛选判断。

在其中一些实施例中,抽取字段信息包括抽取数据key,抽取数据类型和抽取字段key,数据抽取模块进一步包括:

相应数据获取单元,根据抽取数据key从筛选得到的数据字段中获取相应的数据值;

数据转换单元,根据抽取数据类型对数据值进行相应的数据解析转换并得到转换数据;

数据获取单元,根据抽取字段key从转换数据中获取相应的抽取数据;

数据输出单元,将抽取数据按照输出分隔符进行拼接,直至循环遍历抽取字段信息中的各抽取信息项,将拼接后的抽取数据输出至输出路径。

第三方面,本申请实施例提供了一种电子设备,包括存储器、处理器以及存储在存储器上并可在处理器上运行的计算机程序,处理器执行计算机程序时实现如上述第一方面的基于mapreduce的数据筛选抽取方法。

第四方面,本申请实施例提供了一种计算机可读存储介质,其上存储有计算机程序,该程序被处理器执行时实现如上述第一方面的基于mapreduce的数据筛选抽取方法。

本申请实施例提出了一种基于mapreduce的数据筛选抽取方法及系统,本发明可以应用于数据能力技术领域,还可以应用于数据服务技术领域,本申请实施例通过统一的输入格式接口,高效的实现了用户数据筛选需求,针对各种复杂多样的数据筛选需求,避免开发人员频繁的编写不同的筛选抽取程序,提高数据处理任务效率,节省开发成本。

本申请的一个或多个实施例的细节在以下附图和描述中提出,以使本申请的其他特征、目的和优点更加简明易懂。

附图说明

此处所说明的附图用来提供对本申请的进一步理解,构成本申请的一部分,本申请的示意性实施例及其说明用于解释本申请,并不构成对本申请的不当限定。在附图中:

图1是根据本申请实施例的基于mapreduce的数据筛选抽取方法的流程图;

图2是根据本申请实施例的数据筛选步骤的流程图;

图3是根据本申请实施例的判断数据记录是否符合筛选条件项的具体步骤的流程图;

图4是根据本申请实施例的数据抽取步骤的流程图;

图5为本申请优选实施例中基于mapreduce的数据筛选抽取方法的流程图;

图6为本申请优选实施例中数据筛选及抽取过程的原理流程示意图;

图7为本申请优选实施例中数据筛选过程的流程示意图;

图8为本申请优选实施例中数据抽取的流程示意图;

图9是根据本申请实施例的基于mapreduce的数据筛选抽取系统的结构框图;

图10为根据本申请实施例的电子设备的硬件结构示意图。

附图说明:

筛选抽取信息输入模块1;合法性判断模块2;

数据筛选模块3;数据抽取模块4;

筛选条件关系获取单元31;筛选循环遍历单元32;

筛选判断单元33;数据内容获取子单元331;

类型转换子单元332;筛选判断子单元333;

相应数据获取单元41;数据转换单元42;

数据获取单元43;数据输出单元44;

处理器81;存储器82;通信接口83;总线80。

具体实施方式

为了使本申请的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本申请进行描述和说明。应当理解,此处所描述的具体实施例仅仅用以解释本申请,并不用于限定本申请。基于本申请提供的实施例,本领域普通技术人员在没有作出创造性劳动的前提下所获得的所有其他实施例,都属于本申请保护的范围。

显而易见地,下面描述中的附图仅仅是本申请的一些示例或实施例,对于本领域的普通技术人员而言,在不付出创造性劳动的前提下,还可以根据这些附图将本申请应用于其他类似情景。此外,还可以理解的是,虽然这种开发过程中所作出的努力可能是复杂并且冗长的,然而对于与本申请公开的内容相关的本领域的普通技术人员而言,在本申请揭露的技术内容的基础上进行的一些设计,制造或者生产等变更只是常规的技术手段,不应当理解为本申请公开的内容不充分。

在本申请中提及“实施例”意味着,结合实施例描述的特定特征、结构或特性可以包含在本申请的至少一个实施例中。在说明书中的各个位置出现该短语并不一定均是指相同的实施例,也不是与其它实施例互斥的独立的或备选的实施例。本领域普通技术人员显式地和隐式地理解的是,本申请所描述的实施例在不冲突的情况下,可以与其它实施例相结合。

除非另作定义,本申请所涉及的技术术语或者科学术语应当为本申请所属技术领域内具有一般技能的人士所理解的通常意义。本申请所涉及的“一”、“一个”、“一种”、“该”等类似词语并不表示数量限制,可表示单数或复数。本申请所涉及的术语“包括”、“包含”、“具有”以及它们任何变形,意图在于覆盖不排他的包含;例如包含了一系列步骤或模块(单元)的过程、方法、系统、产品或设备没有限定于已列出的步骤或单元,而是可以还包括没有列出的步骤或单元,或可以还包括对于这些过程、方法、产品或设备固有的其它步骤或单元。本申请所涉及的“连接”、“相连”、“耦接”等类似的词语并非限定于物理的或者机械的连接,而是可以包括电气的连接,不管是直接的还是间接的。本申请所涉及的“多个”是指两个或两个以上。“和/或”描述关联对象的关联关系,表示可以存在三种关系,例如,“a和/或b”可以表示:单独存在a,同时存在a和b,单独存在b这三种情况。字符“/”一般表示前后关联对象是一种“或”的关系。本申请所涉及的术语“第一”、“第二”、“第三”等仅仅是区别类似的对象,不代表针对对象的特定排序。

因此,本实施例提供了一种基于mapreduce的数据筛选抽取方法。图1是根据本申请实施例的基于mapreduce的数据筛选抽取方法的流程图,如图1所示,该流程包括如下步骤:

筛选抽取信息输入步骤s1,输入筛选抽取信息,筛选抽取信息包括:数据的输入路径、筛选需求信息、数据的输出路径,筛选需求信息包括输入分隔符、筛选条件信息、抽取字段信息和输出分隔符;

合法性判断步骤s2,判断筛选需求信息是否为空,若不为空,则判断筛选需求信息是否为json格式,若为json格式,则判断筛选需求信息是否符合预设规范,若符合,则继续判断输入路径是否存在,若存在,则判断输出路径是否不存在,若不存在则说明筛选抽取信息是合法的;

数据筛选步骤s3,在mapreduce框架下,初始化并解析筛选抽取信息,读取待筛选数据中每一行数据记录并进入map处理阶段,根据所述输入分隔符分隔所述数据记录,并判断待筛选数据是否包含筛选条件信息,若包含则进行数据筛选并获得对应的数据字段,若不包含则不筛选;

数据抽取步骤s4,判断待筛选数据是否包含抽取字段信息,若包含则对对应数据字段进行抽取并输出至输出路径。

通过上述步骤,提供了一种既能减少开发成本,又能提高海量数据筛选抽取处理效率的方法,通过设置一个统一的输入格式,高效的实现了用户数据筛选的需求,可以处理结构复杂多样的数据类型,比如:数字、字符串、布尔、数组、json格式数据、字符串与json格式混合数据等。而且,针对针对各种复杂多样的数据筛选需求,避免开发人员频繁的编写不同的筛选抽取程序,提高数据处理任务效率,节省开发成本。

需要说明的是,上述预设规范为:是否具有预设的字段,即,输入分隔符、筛选条件信息、抽取字段信息和输出分割符。

图2是根据本申请实施例的数据筛选步骤的流程图,如图2所示,在其中一些实施例中,数据筛选步骤s3具体包括:

筛选条件关系获取步骤s31,初始化筛选条件通过标识为true,获取筛选条件信息中各筛选条件项之间的逻辑关系;

筛选循环遍历步骤s32,判断是否循环遍历完成各筛选条件项,若已完成,则判断筛选条件通过标识是否为true,若是则保留该行数据记录,若否则忽略该行数据记录,若未完成,则进行下一步骤;

筛选判断步骤s33,判断一行数据记录是否符合该筛选条件项,

若符合该筛选条件项,判断逻辑关系是否为逻辑且,若为逻辑且,返回筛选循环遍历步骤,若逻辑关系不为逻辑且,则保留该行数据记录;

若不符合该筛选条件项,判断逻辑关系是否为逻辑且,若为逻辑且,则忽略该行数据记录,若不为逻辑且,则将筛选条件通过标识设置为false,并返回筛选循环遍历步骤。

通过上述步骤,可以满足多个筛选条件的复杂筛选,比如:数值和日期范围筛选、数组操作筛选、且或条件组合筛选等,

需要说明的是,本方法能够针对不同的数据类型支持不同筛选逻辑操作,包括等于、大于、小于、介于、包含、不包含、正则匹配、逻辑且、逻辑或等。

图3是根据本申请实施例的判断数据记录是否符合筛选条件项的具体步骤的流程图,如图3所示,在其中一些实施例中,筛选条件项包括筛选数据key、筛选数据类型、过滤动作、过滤条件值,判断数据记录是否符合筛选条件项的具体步骤为:

数据内容获取步骤s331,根据筛选数据key获得数据记录中相应的数据内容;

类型转换步骤s332,根据筛选数据类型,将数据内容进行数据解析及类型转换;

筛选判断步骤s333,根据过滤动作和过滤条件值,将数据内容按照相应的筛选方式和逻辑关系进行筛选判断。

图4是根据本申请实施例的数据抽取步骤的流程图,如图4所示,在其中一些实施例中,抽取字段信息包括抽取数据key,抽取数据类型和抽取字段key,数据抽取步骤s4进一步包括:

相应数据获取步骤s41,根据抽取数据key从筛选得到的数据字段中获取相应的数据值;

数据转换步骤s42,根据抽取数据类型对数据值进行相应的数据解析转换并得到转换数据;

数据获取步骤s43,根据抽取字段key从转换数据中获取相应的抽取数据;

数据输出步骤s44,将抽取数据按照输出分隔符进行拼接,直至循环遍历抽取字段信息中的各抽取信息项,将拼接后的抽取数据输出至输出路径。

下面是本申请优选实施例的基于mapreduce的数据筛选抽取方法,图5为本申请优选实施例中基于mapreduce的数据筛选抽取方法的流程图,如图5所示。

s501,输入筛选抽取信息,包括:数据的输入路径、数据的筛选需求信息(json格式)、数据的输出路径,筛选需求信息包括输入分隔符、筛选条件信息、抽取字段信息、输出分隔符。

s502,将s501中输入的筛选抽取信息进行合法性判断,若输入的筛选需求信息合法,则继续进行,否则提示用户输入信息非法,需要重新输入信息,然后判断输入路径是否存在,若不存在,则提示输入路径不存在,需重新输入信息,当输入路径存在时,判断输出路径是否存在,当存在时,则提示输出路径已存在,需重新输入信息,若不存在则开始下一步。

s503,根据s501中所输入的筛选抽取信息,在mapreduce框架的map阶段进行数据筛选及抽取过程。

s504,将筛选抽取结果数据输出值输出路径。

其中,图6为本申请优选实施例中数据筛选及抽取过程的原理流程示意图,如图6所示,s503中的数据筛选及抽取过程进一步包括如下,

s5031,setup初始化并解析输入的筛选抽取信息;

s5032,读取文件中的每一行数据记录循环进行map处理过程:

s50321,将待筛选数据文件中的每一行数据作为map中的value;

s50322,判断是否进行数据筛选,若进行,则按照输入分隔符分隔数据,根据输入筛选条件信息筛选数据并判断数据是否符合筛选条件,若不符合则忽略该行数据,若符合则继续s50323步骤,若不进行筛选过程,则直接进入s50323步骤,

s50323,判断是否进行数据抽取,若进行抽取则根据输出抽取字段信息提取数据,并将结果数据作为map阶段的输出,继续s50324步骤,若不进行抽取,则判断是否原样输出,若不原样输出则忽略该行数据,继续s50324步骤,若原样输出则将结果数据作为map阶段的输出,继续s50324步骤;

s50324,判断是否继续map过程,若是,则返回s50321步骤,若不需要,则结束循环。

图7为本申请优选实施例中数据筛选过程的流程示意图,如图7所示,s50322进一步包括如下:

s503221,令筛选条件通过标识flag=true表示通过筛选条件,获取输入的筛选条件信息中的各筛选条件项之间的逻辑关系,循环遍历各筛选条件项;

s503222,判断是否循环遍历各筛选条件项,未遍历完成,则获取筛选条件项信息,筛选条件项信息包括筛选数据key、筛选数据类型、过滤动作、过滤条件值,根据数据key获取相应的数据值,根据数据类型解析转换相应的数据,根据过滤动作执行相应的过滤方式,根据过滤条件值进行过滤判断;

s503223,判断该行数据记录是否符合该筛选条件项,若符合该筛选条件项,则进一步判断逻辑关系是否为且关系,若逻辑关系为且关系,则继续下一个筛选条件项判断,若逻辑关系不为且关系,则保留该行数据记录;若不符合该筛选条件项,则进一步判断逻辑关系是否为且关系,若逻辑关系为且关系,则忽略该行数据记录,若逻辑关系不为且关系,则令筛选条件通过标识flag为false,继续下一个筛选条件项判断;

s503224,判断是否完成遍历,若完成循环遍历各筛选条件项,则判断筛选条件通过标识flag是否为true,若为true,则保留该行数据记录,若为false,则忽略该行数据记录。

图8为本申请优选实施例中数据抽取的流程示意图,如图8所示,s50323进一步包括如下:

s503231,判断是否循环遍历完成各抽取信息项,若遍历完成则结束循环,若遍历未完成则继续s503232;

s503232,获取抽取字段信息的抽取信息项,包括:抽取数据key、抽取数据类型和抽取字段key,根据抽取数据key获取相应的数据,根据抽取数据类型解析转换相应的数据,根据抽取字段key从解析数据中获取相应的数据,然后按照输出分隔符进行数据拼接,然后输出至输出路径,返回s503231步骤。

需要说明的是,在上述流程中或者附图的流程图中示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行,并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。

本实施例还提供了一种基于mapreduce的数据筛选抽取系统,该系统用于实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”、“单元”、“子单元”等可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。

图9是根据本申请实施例的基于mapreduce的数据筛选抽取系统的结构框图,如图9所示,该系统包括:

筛选抽取信息输入模块1,输入筛选抽取信息,筛选抽取信息包括:数据的输入路径、筛选需求信息、数据的输出路径,筛选需求信息包括输入分隔符、筛选条件信息、抽取字段信息和输出分隔符;

合法性判断模块2,判断筛选需求信息是否为空,若不为空,则判断筛选需求信息是否为json格式,若为json格式,则判断筛选需求信息是否符合预设规范,若符合,则继续判断输入路径是否存在,若存在,则判断输出路径是否不存在,若不存在则说明筛选抽取信息是合法的;

数据筛选模块3,在mapreduce框架下,初始化并解析筛选抽取信息,读取待筛选数据中每一行数据记录并进入map处理阶段,根据所述输入分隔符分隔所述数据记录,并判断待筛选数据是否包含筛选条件信息,若包含则进行数据筛选并获得对应的数据字段,若不包含则不筛选;

数据抽取模块4,判断待筛选数据是否包含抽取字段信息,若包含则对对应数据字段进行抽取并输出至输出路径。

在其中一些实施例中,数据筛选模块3具体包括:

筛选条件关系获取单元31,初始化筛选条件通过标识为true,获取筛选条件信息中各筛选条件项之间的逻辑关系;

筛选循环遍历单元32,判断是否循环遍历完成各筛选条件项,若已完成,则判断筛选条件通过标识是否为true,若是则保留该行数据记录,若否则忽略该行数据记录,若未完成,则进行下一步骤;

筛选判断单元33,判断一行数据记录是否符合该筛选条件项,

若符合该筛选条件项,判断逻辑关系是否为逻辑且,若为逻辑且,返回筛选循环遍历步骤,若逻辑关系不为逻辑且,则保留该行数据记录;

若不符合该筛选条件项,判断逻辑关系是否为逻辑且,若为逻辑且,则忽略该行数据记录,若不为逻辑且,则将筛选条件通过标识设置为false,并返回筛选循环遍历步骤。

在其中一些实施例中,筛选条件项包括筛选数据key、筛选数据类型、过滤动作、过滤条件值,筛选判断单元33包括:

数据内容获取子单元331,根据筛选数据key获得数据记录中相应的数据内容;

类型转换子单元332,根据筛选数据类型,将数据内容进行数据解析及类型转换;

筛选判断子单元333,根据过滤动作和过滤条件值,将数据内容按照相应的筛选方式和逻辑关系进行筛选判断。

在其中一些实施例中,抽取字段信息包括抽取数据key,抽取数据类型和抽取字段key,数据抽取模块4进一步包括:

相应数据获取单元41,根据抽取数据key从筛选得到的数据字段中获取相应的数据值;

数据转换单元42,根据抽取数据类型对数据值进行相应的数据解析转换并得到转换数据;

数据获取单元43,根据抽取字段key从转换数据中获取相应的抽取数据;

数据输出单元44,将抽取数据按照输出分隔符进行拼接,直至循环遍历抽取字段信息中的各抽取信息项,将拼接后的抽取数据输出至输出路径。

需要说明的是,上述各个模块可以是功能模块也可以是程序模块,既可以通过软件来实现,也可以通过硬件来实现。对于通过硬件来实现的模块而言,上述各个模块可以位于同一处理器中;或者上述各个模块还可以按照任意组合的形式分别位于不同的处理器中。

另外,结合图1描述的本申请实施例基于mapreduce的数据筛选抽取方法可以由电子设备来实现。图10为根据本申请实施例的电子设备的硬件结构示意图。

电子设备可以包括处理器81以及存储有计算机程序指令的存储器82。

具体地,上述处理器81可以包括中央处理器(cpu),或者特定集成电路(applicationspecificintegratedcircuit,简称为asic),或者可以被配置成实施本申请实施例的一个或多个集成电路。

其中,存储器82可以包括用于数据或指令的大容量存储器。举例来说而非限制,存储器82可包括硬盘驱动器(harddiskdrive,简称为hdd)、软盘驱动器、固态驱动器(solidstatedrive,简称为ssd)、闪存、光盘、磁光盘、磁带或通用串行总线(universalserialbus,简称为usb)驱动器或者两个或更多个以上这些的组合。在合适的情况下,存储器82可包括可移除或不可移除(或固定)的介质。在合适的情况下,存储器82可在数据处理装置的内部或外部。在特定实施例中,存储器82是非易失性(non-volatile)存储器。在特定实施例中,存储器82包括只读存储器(read-onlymemory,简称为rom)和随机存取存储器(randomaccessmemory,简称为ram)。在合适的情况下,该rom可以是掩模编程的rom、可编程rom(programmableread-onlymemory,简称为prom)、可擦除prom(erasableprogrammableread-onlymemory,简称为eprom)、电可擦除prom(electricallyerasableprogrammableread-onlymemory,简称为eeprom)、电可改写rom(electricallyalterableread-onlymemory,简称为earom)或闪存(flash)或者两个或更多个以上这些的组合。在合适的情况下,该ram可以是静态随机存取存储器(staticrandom-accessmemory,简称为sram)或动态随机存取存储器(dynamicrandomaccessmemory,简称为dram),其中,dram可以是快速页模式动态随机存取存储器(fastpagemodedynamicrandomaccessmemory,简称为fpmdram)、扩展数据输出动态随机存取存储器(extendeddateoutdynamicrandomaccessmemory,简称为edodram)、同步动态随机存取内存(synchronousdynamicrandom-accessmemory,简称sdram)等。

存储器82可以用来存储或者缓存需要处理和/或通信使用的各种数据文件,以及处理器81所执行的可能的计算机程序指令。

处理器81通过读取并执行存储器82中存储的计算机程序指令,以实现上述实施例中的任意一种基于mapreduce的数据筛选抽取方法。

在其中一些实施例中,电子设备还可包括通信接口83和总线80。其中,如图10所示,处理器81、存储器82、通信接口83通过总线80连接并完成相互间的通信。

通信接口83用于实现本申请实施例中各模块、装置、单元和/或设备之间的通信。通信端口83还可以实现与其他部件例如:外接设备、图像/数据采集设备、数据库、外部存储以及图像/数据处理工作站等之间进行数据通信。

总线80包括硬件、软件或两者,将电子设备的部件彼此耦接在一起。总线80包括但不限于以下至少之一:数据总线(databus)、地址总线(addressbus)、控制总线(controlbus)、扩展总线(expansionbus)、局部总线(localbus)。举例来说而非限制,总线80可包括图形加速接口(acceleratedgraphicsport,简称为agp)或其他图形总线、增强工业标准架构(extendedindustrystandardarchitecture,简称为eisa)总线、前端总线(frontsidebus,简称为fsb)、超传输(hypertransport,简称为ht)互连、工业标准架构(industrystandardarchitecture,简称为isa)总线、无线带宽(infiniband)互连、低引脚数(lowpincount,简称为lpc)总线、存储器总线、微信道架构(microchannelarchitecture,简称为mca)总线、外围组件互连(peripheralcomponentinterconnect,简称为pci)总线、pci-express(pci-x)总线、串行高级技术附件(serialadvancedtechnologyattachment,简称为sata)总线、视频电子标准协会局部(videoelectronicsstandardsassociationlocalbus,简称为vlb)总线或其他合适的总线或者两个或更多个以上这些的组合。在合适的情况下,总线80可包括一个或多个总线。尽管本申请实施例描述和示出了特定的总线,但本申请考虑任何合适的总线或互连。

另外,结合上述实施例中的基于mapreduce的数据筛选抽取方法,本申请实施例可提供一种计算机可读存储介质来实现。该计算机可读存储介质上存储有计算机程序指令;该计算机程序指令被处理器执行时实现上述实施例中的任意一种基于mapreduce的数据筛选抽取方法。

以上所述实施例的各技术特征可以进行任意的组合,为使描述简洁,未对上述实施例中的各个技术特征所有可能的组合都进行描述,然而,只要这些技术特征的组合不存在矛盾,都应当认为是本说明书记载的范围。

以上所述实施例仅表达了本申请的几种实施方式,其描述较为具体和详细,但并不能因此而理解为对发明专利范围的限制。应当指出的是,对于本领域的普通技术人员来说,在不脱离本申请构思的前提下,还可以做出若干变形和改进,这些都属于本申请的保护范围。因此,本申请专利的保护范围应以所附权利要求为准。

当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1