首页> 中国专利> Flume元数据信息分析提取方法及相关组件

Flume元数据信息分析提取方法及相关组件

摘要

本发明公开了一种Flume元数据信息分析提取方法,该方法中对在Event Body中用目标分隔符分隔的字段信息进行识别以及提取,作为元数据字段信息,匹配字段信息对应的元数据字段名称,以确定各元数据字段信息表达的对象,得到元数据字段名称与字段信息的数据对后将其进行统一存储格式的转换,即可生成以标准格式存储的元数据信息,以便于后续统一的数据处理,将格式转换后的元数据信息添加至Event数据中,以便于后续根据该元数据信息进行数据的处理过程,便于数据的分析以及确定。本发明还公开了一种Flume元数据信息分析提取拦截器、设备及可读存储介质,具有相应的技术效果。

著录项

  • 公开/公告号CN112685364A

    专利类型发明专利

  • 公开/公告日2021-04-20

    原文格式PDF

  • 申请/专利权人 北京浪潮数据技术有限公司;

    申请/专利号CN202011552583.0

  • 发明设计人 胡永泽;

    申请日2020-12-24

  • 分类号G06F16/14(20190101);G06F16/18(20190101);G06F16/182(20190101);

  • 代理机构11227 北京集佳知识产权代理有限公司;

  • 代理人张春辉

  • 地址 100085 北京市海淀区上地信息路2号C栋5层

  • 入库时间 2023-06-19 10:41:48

说明书

技术领域

本发明涉及信息处理技术领域,特别是涉及一种Flume元数据信息分析提取方法、拦截器、设备及可读存储介质。

背景技术

Flume是一个分布式高可用的海量日志采集、聚合和传输的系统。在大数据时代,Flume作为一个优秀的数据采集工具,广泛应用于多个场景。

Flume中主要包括:Source(Flume中用于获取数据的组件)、拦截器(Flume中用于数据加工处理的组件)、Channel(Flume中的存储组件)以及Sink(Flume中的数据传递组件)四部分来完成日志的采集聚合以及传输。

目前经过Flume处理得到的数据虽然格式规范,但是元数据信息不明确,需要对Flume输出的数据进行进一步的分析提取后才能得到元数据信息,而元数据信息在后续的大数据组件的数据应用以及处理中起着重要的作用,导致后续对接的大数据组件每应用一次数据,都需要先进行元数据分析提取,然后才能执行真正的处理步骤,导致处理效率低。

综上所述,如何提升针对于Flume输出数据的处理效率,是目前本领域技术人员急需解决的技术问题。

发明内容

本发明的目的是提供一种Flume元数据信息分析提取方法、拦截器、设备及可读存储介质,可以提升针对于Flume输出数据的处理效率。

为解决上述技术问题,本发明提供如下技术方案:

一种Flume元数据信息分析提取方法,包括:

获取待处理的Event数据;其中,所述Event数据中包括:Event Header与EventBody;

对所述Event Body进行目标分隔符识别,并根据识别到的所述目标分隔符对所述Event Body进行元数据字段信息提取,得到元数据字段信息;

为所述元数据字段信息匹配对应的元数据字段名称,得到元数据字段名称与字段信息的数据对;

按照预设元数据统一存储格式对所述数据对进行格式转换,生成标准格式的元数据信息;

将所述标准格式的元数据信息添加至所述Event数据中。

可选地,在为所述元数据字段信息匹配对应的元数据字段名称之前,还包括:

判断所述元数据字段信息的数量与预先配置的所述元数据字段名称的数量是否匹配;

若匹配,执行为所述元数据字段信息匹配对应的元数据字段名称的步骤;

若不匹配,将所述Event数据作为错误数据,写入错误数据记录文件中。

可选地,在将所述Event数据作为错误数据,写入错误数据记录文件中之后,还包括:

判断所述错误数据记录文件中写入的错误数据的数量是否达到第一阈值;

若达到,停止所述Source组件的数据采集通道,并输出错误提示;

若未达到,执行所述判断所述Event Body中目标分隔符的数量与字段数量是否匹配的步骤。

可选地,判断所述元数据字段信息的数量与预先配置的所述元数据字段名称的数量是否匹配,包括:

判断所述Event Body中目标分隔符的数量,是否为所述元数据字段名称的数量与1的差值;

若是,判定所述元数据字段信息的数量与预先配置的所述元数据字段名称的数量匹配;

若否,判定所述元数据字段信息的数量与预先配置的所述元数据字段名称的数量不匹配。

可选地,在执行对所述Event Body进行目标分隔符识别的步骤之前,还包括:

若所述错误数据记录文件中写入的错误数据的数量达到所述第一阈值,判断是否开启脏数据校验;

若开启,判断所述Event Body中所有字段数据的数据类型是否为目标配置类型;

若是,执行对所述Event Body进行目标分隔符识别的步骤;

若否,将所述Event数据作为脏数据,写入脏数据记录文件中;

若未开启,执行对所述Event Body进行目标分隔符识别的步骤。

可选地,所述Flume元数据信息分析提取方法还包括:

判断所述脏数据记录文件中写入的脏数据的数量是否达到第二阈值;

若达到,停止所述Source组件的数据采集通道,并输出脏数据提示;

若未达到,执行对所述Event Body进行目标分隔符识别的步骤。

可选地,所述按照预设元数据统一存储格式对所述数据对进行格式转换,生成标准格式的元数据信息,包括:

将所述数据对进行Json格式构造,生成Json格式的元数据;

将所述Json格式的元数据作为所述标准格式的元数据信息。

一种Flume元数据信息分析提取拦截器,包括:

数据获取单元,用于获取待处理的Event数据;其中,所述Event数据中包括:EventHeader与Event Body;

信息提取单元,用于对所述Event Body进行目标分隔符识别,并根据识别到的所述目标分隔符对所述Event Body进行元数据字段信息提取,得到元数据字段信息;

字段匹配单元,用于为所述元数据字段信息匹配对应的元数据字段名称,得到元数据字段名称与字段信息的数据对;

格式转换单元,用于按照预设元数据统一存储格式对所述数据对进行格式转换,生成标准格式的元数据信息;

信息添加单元,用于将所述标准格式的元数据信息添加至所述Event数据中。

一种计算机设备,包括:

存储器,用于存储计算机程序;

处理器,用于执行所述计算机程序时实现上述Flume元数据信息分析提取方法的步骤。

一种可读存储介质,所述可读存储介质上存储有计算机程序,所述计算机程序被处理器执行时实现上述Flume元数据信息分析提取方法的步骤。

本发明实施例所提供的方法,该方法中对在Event Body中用目标分隔符分隔的字段信息进行识别以及提取,作为元数据字段信息,匹配字段信息对应的元数据字段名称,以确定各元数据字段信息表达的对象,得到元数据字段名称与字段信息的数据对后将其进行统一存储格式的转换,即可生成以标准格式存储的元数据信息,以便于后续统一的数据处理,将格式转换后的元数据信息添加至Event数据中,以便于后续根据该元数据信息进行数据的处理过程,便于数据的分析以及确定。

相应地,本发明实施例还提供了与上述Flume元数据信息分析提取方法相对应的Flume元数据信息分析提取拦截器、设备和可读存储介质,具有上述技术效果,在此不再赘述。

附图说明

为了更清楚地说明本发明实施例或相关技术中的技术方案,下面将对实施例或相关技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。

图1为一种Flume数据采集架构示意图;

图2为本发明实施例中一种Flume元数据信息分析提取方法的实施流程图;

图3为本发明实施例中一种整体的数据校验实现流程图;

图4为本发明实施例中一种Flume元数据信息分析提取拦截器的结构示意图;

图5为本发明实施例中另一种Flume元数据信息分析提取拦截器的结构示意图;

图6为本发明实施例中一种计算机设备的结构示意图。

具体实施方式

本发明的核心是提供一种Flume元数据信息分析提取方法,可以提升针对于Flume输出数据的处理效率。

为了使本技术领域的人员更好地理解本发明方案,下面结合附图和具体实施方式对本发明作进一步的详细说明。显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。

如附图1所示,为Flume采集数据的一种架构示意图,Source(可以从日志文件、网络端口、Kafka等)多种数据源采集数据,封装成Event(Flume中传输数据的基本单位,由Event Header与Event Body构成),Event可以通过一系列拦截器进行加工处理,写入Channel。数据成功写入到Channel中后,Sink(Flume中的数据传递组件)会从Channel中主动拉取数据写入到HDFS、HBase、Hive、ES等多种大数据组件中进行后续的数据处理。

Flume中的拦截器有许多种,包括时间戳添加拦截器、Host添加拦截器,正则提取拦截器等,时间戳添加拦截器在传输的Event中的Event Header中增加现在时间的时间戳,Host添加拦截器可以在传输的Event中的Event Header中增加传输时当前主机名称,正则提取拦截器可以通过正则表达式,提取Event Body中的字段到Event Header中。

在实际生产环境中,原始数据常常为“1,zhansan,18”,这样用分隔符分隔的数据,并且这三个数据可以对应一个数据表中的“id,name,age”这三个字段。传输到目的地进行数据处理时,常常需要{"id":1,"name":"zhangsan","age":"18"}这样的原数据,在数据写入后更加方便对数据进行处理,而现有的Flume拦截器中并不存在这样的功能。

针对于此,本申请提供了一种Flume元数据信息分析提取方法,可以应用于Flume中作为一种元数据组装拦截器,实现元数据组装的功能,请参考图1,图2为本发明实施例中一种Flume元数据信息分析提取方法的流程图,该方法包括以下步骤:

S101、获取待处理的Event数据;

获取待处理的Event数据,Event为Flume中传输数据的基本单位,Event数据为Flume系统中Source组件封装后的数据,由Event Header与Event Body构成。

需要说明的是,本实施例中获取的待处理的Event数据可以为Flume系统中Source组件直接输出的Event数据,也可以为经过拦截器加工处理过但是未写入Channel的Event数据,即本申请中提供的Flume元数据信息分析提取过程可以作为首个拦截器对Source组件封装后的数据进行加工处理,也可以作为多个拦截器加工处理中的一环对已经被拦截器加工处理过后的Event数据进行加工处理。

S102、对Event Body进行目标分隔符识别,并根据识别到的目标分隔符对EventBody进行元数据字段信息提取,得到元数据字段信息;

Event Body为Event数据中记录数据本身的部分,Event Header中主要用来存储数据的关键字、标签等信息,本实施例中对于元数据信息的分析提取可以仅对Event Body进行目标分隔符识别,以提升检索效率。其中,目标分隔符为预先设定的当前Event数据中元数据信息的字段分隔符,不同Event数据中元数据信息的分隔符类型可能不同,目标分隔符可以根据当前处理的Event数据的类型确定。

目前常用的分隔符比如逗号“,”,空格,或者分号“;”等,在实际生产环境中,元数据信息常常以“1,zhansan,18”的形式存储于Event数据中,这样用逗号作为分隔符分隔字段数据,本实施例中主要以目标分隔符为逗号为例进行介绍,其它类型目标分隔符对应的实现方式均可参照本实施例的介绍,在此不再赘述。

确定了目标分隔符后,对Event Body中的数据进行目标分隔符识别的具体识别实现过程可以参照相关技术中对于识别分隔符的实现方式,本实施例中对此不再赘述。

在Event Body进行目标分隔符识别后,可以确定目标分隔符的位置,根据识别到的目标分隔符对Event Body进行元数据字段信息提取,可以得到利用目标分隔符分隔的字段信息,将确定的字段信息可以直接作为元数据信息,也可以对得到的字段信息进行筛选后再作为元数据信息,可以根据需要提取的元数据的种类等因素来确定,本实施例中仅以前者为例进行介绍。比如对“1,zhansan,18”的原始数据中对目标分隔符“,”进行识别,可以确定由目标分隔符分隔的字段信息为“1”、“zhansan”以及“18”,将上述三个字段信息作为元数据字段信息。

S103、为元数据字段信息匹配对应的元数据字段名称,得到元数据字段名称与字段信息的数据对;

识别到利用目标分隔符分割的元数据字段信息后,可以根据当前处理的Event数据中元数据字段的排布规则为识别到的元数据字段信息匹配对应的字段名称,比如当前处理的Event数据中元数据的排布规则为“id,name,age”,则逐一匹配,将字段信息“1”与字段名称“id”相匹配,将字段信息“zhansan”与字段名称“name”相匹配,将字段信息“18”与字段名称“age”相匹配,得到id—1、name—zhansan以及age—18的数据对。

需要说明的是,本实施例中对于为元数据字段信息匹配对应的元数据字段名称的实现方式不做限定,上述主要介绍了一种根据Event数据中元数据字段的排布规则为识别到的元数据字段信息匹配对应的字段名称的实现方式,此外还可以通过用户指定的方式,接收用户指定的各元数据字段信息对应的字段名称,从而得到元数据字段信息匹配的元数据字段名称,在此仅以上述两种实现方式为例进行介绍,其它字段名称的匹配实现方式均可参照本实施例的介绍,在此不再赘述。

S104、按照预设元数据统一存储格式对数据对进行格式转换,生成标准格式的元数据信息;

为便于查看,本实施例中将得到的数据对按照预设的元数据统一存储格式进行格式转换,从而可以得到统一标准格式存储的元数据信息,方便元数据信息的统一管理。

而其中,本实施例中对于转换的标准格式,即元数据统一存储格式的具体格式类型不做限定,可以根据实际查看的需要进行相应设定,一种按照预设元数据统一存储格式对数据对进行格式转换,生成标准格式的元数据信息的实现方式如下:

(1)将数据对进行Json格式构造,生成Json格式的元数据;

(2)将Json格式的元数据作为标准格式的元数据信息。

Json格式是一种轻量级的数据交换格式,易于用户阅读和理解,也易于机器解析,将id—1、name—zhansan以及age—18的数据对进行Json格式构造后,可以得到{"id":1,"name":"zhangsan","age":"18"}的Json数据,将转换后的数据直接作为元数据信息进行存储以及查看调用。

需要说明的是,本实施例中仅以上述格式转换方式为例进行介绍,其它为了方便查看以及调用的格式转换方式均可参照上述介绍,在此不再赘述。

S105、将标准格式的元数据信息添加至Event数据中。

将标准格式的元数据信息添加至Event数据中,以便于其它拦截器或其他数据处理器的调用以及查看。

本实施例中对于标准格式的元数据信息在Event数据中的具体添加位置不做限定,可以根据实际元数据读取的需要进行相应的位置设置,比如可以将标准格式的元数据信息添加至Event Header中,具体地,比如可以将Json格式的元数据中的Key放入到EventHeader标签的Key中,对应的Value放入到Event Header Value中。

基于上述介绍,本发明实施例所提供的技术方案,对在Event Body中用目标分隔符分隔的字段信息进行识别以及提取,作为元数据字段信息,匹配字段信息对应的元数据字段名称,以确定各元数据字段信息表达的对象,得到元数据字段名称与字段信息的数据对后将其进行统一存储格式的转换,即可生成以标准格式存储的元数据信息,以便于后续统一的数据处理,将格式转换后的元数据信息添加至Event数据中,以便于后续根据该元数据信息进行数据的处理过程,便于数据的分析以及确定。

需要说明的是,基于上述实施例,本发明实施例还提供了相应的改进方案。在优选/改进实施例中涉及与上述实施例中相同步骤或相应步骤之间可相互参考,相应的有益效果也可相互参照,在本文的优选/改进实施例中不再一一赘述。

在目前Flume系统的数据采集以及处理过程中,常常存在一些错误的数据,比如格式错误的数据,而这些错误的数据可能会对之后的数据分析以及处理过程产生一定的负面影响,导致效率较低甚至出现宕机等情况。

为避免上述情况对于系统运行稳定性带来的影响,在为元数据字段信息匹配对应的元数据字段名称之前,可以执行以下步骤:

(1)判断元数据字段信息的数量与预先配置的元数据字段名称的数量是否匹配;

(2)若匹配,执行为元数据字段信息匹配对应的元数据字段名称的步骤;

(3)若不匹配,将Event数据作为错误数据,写入错误数据记录文件中。

本实施例中将通过字段分隔的数据的个数与配置中元数据字段名称个数不匹配的数据作为错误数据,根据配置的分隔符判断,Event Body中的分隔符数量与预先配置的元数据字段名称的数量是否匹配,其中匹配的评判标准本实施例中不做限定,可以通过差值来判定,比如判断Event Body中目标分隔符的数量,是否为元数据字段名称的数量与1的差值,若是,则判定匹配,当前Event数据非错误数据,可以执行后续为元数据字段信息匹配对应的元数据字段名称的步骤;若不是,则两者不匹配,则判定当前Event数据为错误数据,为避免该错误数据对于后续数据分析处理带来的负面影响,本实施例中不再对其进行后续的数据处理,而是将其写入错误数据记录文件中,以便于后续技术人员对于写入至错误数据记录文件中的错误数据的处理,

而若错误数据过多时,错误数据记录文件中记录的错误数据过多可能还会对于系统的运行产生一定的影响,为避免上述缺点,在将Event数据作为错误数据,写入错误数据记录文件中之后,可以进一步判断错误数据记录文件中写入的错误数据的数量是否达到第一阈值;若达到,停止Source组件的数据采集通道,避免继续产生的错误数据对于系统运行的影响,并输出错误提示,以便于提示技术人员及时处理;若未达到,则错误数据记录文件中存储的数据量较少,可以暂时不处理,继续执行判断Event Body中目标分隔符的数量与字段数量是否匹配的步骤。

而其中,对于第一阈值的数值设置本实施例中不做限定,可以根据经验值进行设置,同时,上述过程可以以天为单位进行,则可以在记录时间超过24小时后将错误数据文件中记录的错误数据总数清零,以避免历史错误数据对于当前错误的分析干扰。

另外,除了元数据字段信息的数量与预先配置的元数据字段名称的数量不匹配这种错误数据的形式,在实际系统运行中还存在字段对应的数据类型与实际数据类型不匹配的数据,这对于后续元数据的匹配以及其他数据处理也会产生负面影响,为避免上述缺点,在执行对Event Body进行目标分隔符识别的步骤之前,还可以进一步执行以下步骤:

若错误数据记录文件中写入的错误数据的数量达到第一阈值,判断是否开启脏数据校验;

若开启,判断Event Body中所有字段数据的数据类型是否为目标配置类型;

若是,执行对Event Body进行目标分隔符识别的步骤;

若否,将Event数据作为脏数据,写入脏数据记录文件中;

若未开启,执行对Event Body进行目标分隔符识别的步骤。

本实施例中将各个字段对应的数据类型与实际数据类型不匹配的数据作为脏数据,查看是否开启脏数据过滤模式,若开启,则继续后续脏数据过滤步骤,具体地,脏数据过滤步骤主要包括根据分隔符获取数据的每一个字段,判断其数据类型是否符合预设的元数据字段类型配置,若是,则判定非脏数据,可以继续后续的数据处理步骤,若不是,则判定为脏数据,对于该脏数据不再触发后续的处理流程,避免对于后续流程稳定性的干扰,将该条数据写入到脏数据记录文件中,以便后续相关技术人员的查看以及维护。

而脏数据记录文件中存储的数据量过大时对于系统运行速度可能产生一定的影响,为保障系统处理速度,每添加一个脏数据计数加1,判断脏数据记录文件中写入的脏数据的数量是否达到第二阈值;若达到,停止Source组件的数据采集通道,避免过多脏数据对于系统存储空间的过多占用,并输出脏数据提示,以提示相关技术人员尽快处理;若未达到,执行对Event Body进行目标分隔符识别的步骤。其中对于第二阈值的设定本实施例中也不做限定,可以参照第一阈值的设置,在此不再赘述。

如图3所示为一种整体的数据校验实现流程图,包括错误数据的校验以及脏数据的校验,整体实现流程如下:

(1)初始化配置,获取配置参数;

一种配置参数表如下表1所示:

表1

(2)从Source组件中获取Event数据;

(3)根据配置的分隔符判断,Event Body中的分隔符数量,是否为配置的字段数减1,不是执步骤4.1,是执行步骤5;

(4.1)将该数据写入错误数据记录文件中;

其中,错误数据记录文件:记录采集过程中的错误数据,其中文件的第一行将会记录当日错误数据数量与错误数据总量,每日凌晨将会把当日错误数据清零。

(4.2)将错误数据文件中记录的错误数据总数与当日错误数据数+1;

(4.3)如果当天错误数据数量大于第一阈值,停止采集通道;否则,执行步骤3;

(5)根据配置文件查看是否开启脏数据过滤模式,是执行步骤6.1,不是执行步骤7;

(6.1)根据分隔符获取数据的每一个字段,判断其数据类型是否符合元数据字段类型配置,符合执行7,不符合执行6.2;

(6.2)将该条数据写入到脏数据记录文件中;

其中,脏数据文件用于记录采集过程中的脏数据,其中文件的第一行将会记录当日脏数据数量与脏数据总量,每日凌晨将会把当日脏数据数据数量清零

(6.3)将脏数据记录文件中记录的脏数据总数与当日脏数据数+1;

(6.4)如果当天脏数据数量大于配置文件设定值,停止采集通道;否则,执行步骤3;

(7)将数据传递到该拦截器的转换器中;

(8)执行步骤3。

基于上述介绍,本实施例中提供的方法可以将用把用固定分隔符分隔的数据,根据配置的元数据信息,转换为Json格式的元数据信息,从而在Event数据中增加元数据信息,便于对数据进行后续的处理;同时对脏数据与错误数据进行存储与统计,以便于进行分析与回溯;在当日脏数据数量或者错误数据过多时,可以停止对应的数据采集通道,避免错误数据大量堆积;同时可以提取转换后数据的相关字段,放入到Event Header中,以便于对数据进行分发。

需要说明的是,其它基于本申请的实现方式均可参照上述介绍,在此不再赘述。

相应于上面的方法实施例,本发明实施例还提供了一种Flume元数据信息分析提取拦截器,下文描述的Flume元数据信息分析提取拦截器与上文描述的Flume元数据信息分析提取方法可相互对应参照。

参见图4所示,该拦截器包括以下模块:

数据获取单元110主要用于获取待处理的Event数据;其中,Event数据中包括:Event Header与Event Body;

信息提取单元120主要用于对Event Body进行目标分隔符识别,并根据识别到的目标分隔符对Event Body进行元数据字段信息提取,得到元数据字段信息;

字段匹配单元130主要用于为元数据字段信息匹配对应的元数据字段名称,得到元数据字段名称与字段信息的数据对;

格式转换单元140主要用于按照预设元数据统一存储格式对数据对进行格式转换,生成标准格式的元数据信息;

信息添加单元150主要用于将标准格式的元数据信息添加至Event数据中。

上述实施例中介绍了一种单元的划分形式,此外,为了实现上述目的,还可以采取其它的单元划分形式,如图5所示为另一种Flume元数据信息分析提取拦截器的结构示意图,在该种划分形式下Flume元数据信息分析提取拦截器主要包含数据校验、数据转换、数据提取三个单元,采集的数据将会依次经过这三个单元。数据校验单元根据配置文件,对有固定分隔符的数据进行校验,对于不符合校验规则的数据继续过滤与记录,在当日异常数据量过多时,支持停止通道,防止大量错误数据的堆积;数据转换单元根据配置文件,将由固定分隔符的数据转换为Json格式的数据;数据提取单元,可以根据配置需要提取字段,将数据提取到Event Header中。

则依据图5所示的单元划分形式,各单元间相互配合实现Flume元数据信息分析提取功能的一种实现方式如下:

步骤一:根据配置文件初始化各个单元;

步骤二:调用数据校验单元根据配置文件对数据进行校验,将异常数据写入文件,并进行统计,如当日异常数据过多,停止数据通道;

其中,数据校验单元的具体工作流程可以参照图3对应实施例的介绍,在此不再赘述。

步骤三:调用数据转换单元根据配置,将由固定分隔符分隔的数据转换为Json格式数据;

数据转换单元的一种处理流程如下:

1.获取该拦截器的配置,初始化该单元;

2.根据配置的分隔符字段,分隔原始字段;

3.按照元数据字段名称配置,构造Json格式数据。其中Json数据的Key为配置的元数据信息的一个字段信息,Value为分隔后的对应数据字段,将转换好的Json,放入到EventBody中;

4.将处理好的Event发送的数据提取单元,重新执行步骤2。

步骤四:调用数据提取单元根据配置,提取Json数据中的相关字段到EventHeader中,以便于数据的分发。

数据提取单元的一种处理流程如下:

1.获取该拦截器的配置,初始化该单元;

2.获取数据,根据数据提取字段的配置,找到Json数据的Key与对应Value;

3.将步骤2中获取到的Key放入到Event Header标签的Key中,对应的Value放入到Event Header Value中;

4.将处理好的Event发送的数据提取单元,重新执行步骤2。

本实施例介绍的单元划分形式中,该拦截器包含数据校验、数据转换、数据提取三个单元。数据校验单元可以对根据配置对数据进行校验,并对错误的数据与脏数据进行记录与统计,在错误数据与脏数据过多时,可以关闭采集通道,避免大量错误数据的涌入;数据转换单元,可以根据配置对将用固定分隔符分隔的数据转换为Json格式的数据,以便于后续数据的分析处理;数据提取单元,可以将转换后的Json数据,根据Key值,将相应字段提取到Event Header中,以便于根据Event Header中的信息进行数据分发。

需要说明的是,本申请中仅以上述两种单元划分形式为例进行介绍,其它单元划分形式对应的单元配合过程均可参照上述实施例的介绍,在此不再赘述。

相应于上面的方法实施例,本发明实施例还提供了一种计算机设备,下文描述的一种计算机设备与上文描述的一种Flume元数据信息分析提取方法可相互对应参照。

该计算机设备包括:

存储器,用于存储计算机程序;

处理器,用于执行计算机程序时实现上述方法实施例的Flume元数据信息分析提取方法的步骤。

具体的,请参考图6,为本实施例提供的一种计算机设备的具体结构示意图,该计算机设备可因配置或性能不同而产生比较大的差异,可以包括一个或一个以上处理器(central processing units,CPU)322(例如,一个或一个以上处理器)和存储器332,存储器332存储有一个或一个以上的计算机应用程序342或数据344。其中,存储器332可以是短暂存储或持久存储。存储在存储器332的程序可以包括一个或一个以上模块(图示没标出),每个模块可以包括对数据处理设备中的一系列指令操作。更进一步地,中央处理器322可以设置为与存储器332通信,在计算机设备301上执行存储器332中的一系列指令操作。

计算机设备301还可以包括一个或一个以上电源326,一个或一个以上有线或无线网络接口350,一个或一个以上输入输出接口358,和/或,一个或一个以上操作系统341。

上文所描述的Flume元数据信息分析提取方法中的步骤可以由计算机设备的结构实现。

相应于上面的方法实施例,本发明实施例还提供了一种可读存储介质,下文描述的一种可读存储介质与上文描述的一种Flume元数据信息分析提取方法可相互对应参照。

一种可读存储介质,可读存储介质上存储有计算机程序,计算机程序被处理器执行时实现上述方法实施例的Flume元数据信息分析提取方法的步骤。

该可读存储介质具体可以为U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可存储程序代码的可读存储介质。

本领域技术人员还可以进一步意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。本领域技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。

去获取专利,查看全文>

相似文献

  • 专利
  • 中文文献
  • 外文文献
获取专利

客服邮箱:kefu@zhangqiaokeyan.com

京公网安备:11010802029741号 ICP备案号:京ICP备15016152号-6 六维联合信息科技 (北京) 有限公司©版权所有
  • 客服微信

  • 服务号