一种基于Flume的数据处理方法及装置制造方法及图纸

技术编号:15649942 阅读:80 留言:0更新日期:2017-06-17 02:51
本发明专利技术公开了一种基于Flume的数据处理方法,所述方法包括:在源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;保存所述源文件名称到源文件名称组;通过查询所述源文件名称组过滤掉已读取完毕的源文件。本发明专利技术还公开了一种基于Flume的数据处理装置。

【技术实现步骤摘要】
一种基于Flume的数据处理方法及装置
本专利技术涉及数据处理技术,尤其涉及一种基于Flume的数据处理方法及装置。
技术介绍
Flume是Cloudera提供的一个高可用、高可靠、分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据,其中,Flume提供了从控制台(console)、RPC(Thrift-RPC)、文件(text)、tail(UNIXtail)、syslog及命令执行(exec)等数据源上收集数据的能力;同时,Flume提供对数据进行简单处理,并写到各种可定制的数据接收方的能力。图1为现有技术中Flume的系统架构示意图,如图1所示,采集agent负责进行数据采集,该数据指服务器等待采集的设备中的日志;在数据采集过程中,为agent指定监听目录后,agent默认读取该目录下所有文件的源文件;读取源文件的过程中,需要过滤已经传输完毕即已被读取的源文件。现有技术中,对已经传输完毕的源文件进行过滤时,agent对已经传输完毕的源文件进行重命名;通过重命名,可以实现在已经传输完毕的源文件的名称中,加入用以表征“该源文件已被读取完毕”的标识。但是,在重命名源文件后,可能导致agent或源文件所在的设备无法根据源文件的原有命名格式查找到具有原始名称的源文件,从而导致文件查找失败。
技术实现思路
为解决上述技术问题,本专利技术实施例提供一种基于Flume的数据处理方法及装置,能在不改变源文件名称的情况下,过滤已被读取的源文件。本专利技术实施例的技术方案是这样实现的:本专利技术实施例提供一种基于Flume的数据处理方法及装置,包括:在源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;保存所述源文件名称到源文件名称组;通过查询所述源文件名称组过滤掉已读取完毕的源文件。上述方案中,所述保存所述源文件名称到源文件名称组,包括:保存所述源文件名称到表格文件中的源文件名称组;或者,保存所述源文件名称到数据库中的源文件名称组。上述方案中,所述方法还包括:根据正则表达式对所述源文件进行过滤。上述方案中,所述过滤掉已读取完毕的源文件之后,所述方法还包括:按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。上述方案中,所述根据正则表达式对所述源文件进行过滤之前,所述方法还包括:在不需要过滤的源文件名称中预先设置筛选字段。本专利技术实施例提供一种基于Flume的数据处理装置,所述装置包括:获取单元,用于在源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;保存单元,用于保存所述源文件名称到源文件名称组;过滤单元,用于通过查询所述源文件名称组过滤掉已读取完毕的源文件。上述方案中,所述保存单元具体用于:保存所述源文件名称到表格文件中的源文件名称组;或者,保存所述源文件名称到数据库中的源文件名称组。上述方案中,所述过滤单元,还用于根据正则表达式对所述源文件进行过滤。上述方案中,所述装置还包括读取单元,用于按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。上述方案中,所述装置还包括预设单元,用于在不需要过滤的源文件名称中预先设置筛选字段。本专利技术实施例所提供的基于Flume的数据处理方法及装置,保存已获取的源文件的源文件名称到源文件名称组,并通过查询所述源文件名称组过滤已读取完毕的源文件,相比于现有技术,可以在不改变源文件名称的情况下,过滤已被读取的源文件。附图说明图1为现有技术中FLume的系统架构示意图;图2为本专利技术实施例基于Flume的数据处理方法的实现流程图;图3为本专利技术实施例基于Flume的数据处理方法的具体执行流程示意图;图4为本专利技术实施例基于Flume的数据处理装置的组成结构示意图。具体实施方式为了能够更加详尽地了解本专利技术的特点与
技术实现思路
,下面结合附图对本专利技术的实现进行详细阐述,所附附图仅供参考说明之用,并非用来限定本专利技术。图2为本专利技术实施例基于Flume的数据处理方法的实现流程图,如图2所示,本专利技术实施例提供的基于Flume的数据处理方法包括:步骤201,在源文件读取完毕后,获取被读取完毕的源文件的所述源文件名称。步骤202,保存所述源文件名称到源文件名称组。步骤203,通过查询所述源文件名称组过滤掉已读取完毕的源文件。在本专利技术实施例中,保存源文件名称到源文件名称组中时,可保存所述源文件名称到表格文件中的源文件名称组;也可以保存所述源文件名称到数据库中的源文件名称组。即在实施步骤202时,可以采用建立表格的方式保存源文件名称,也可以采用建立数据库的方式保存源文件名称。在步骤201中,agent扫描监听目录,监控源文件的读取情况,一旦监控到有源文件读取完毕,则获取被读取完毕的源文件名称。在步骤202中,agent将获取到的读取完毕的源文件的名称,保存在表格或数据库中。在步骤203,agent在对文件进行过滤时,通过查询该表格或数据库,即可以获知哪些源文件已经被读取完毕,从而可以达到过滤已读取完毕的源文件的目的。采用本专利技术实施例中的技术方案,若agent或者源文件所在的服务器期望查询文件,则可以按照原有的文件命名格式(如**年**月**日**分**日志)来生成期望查询的源文件名称,并根据生成的源文件名称进行文件查询。或者,agent或者所述服务器也可以接收用户输入的该格式的源文件名称,并根据该源文件名称进行文件查询。如图3所示,本专利技术实施例提供的基于Flume的数据处理方法中,agent首先扫描监听目录,再按照设定的规则对源文件进行过滤,之后,读取源文件。其中,在对源文件进行过滤时,不仅包括步骤201至步骤203中的对已读取的源文件进行过滤的文件过滤内容,还包括对预先设置的不需要读取的源文件的过滤,在专利技术实施例中,agent根据正则表达式对所述源文件进行过滤。在使用正则表达式对所述源文件进行过滤之前,需要在不需要过滤的源文件名称中预先设置筛选字段。例如,可以预先设置默认值^$,即若源文件名称里有这个默认值,则需要读取该源文件。例如某源文件的名称可以设置为:^.*\.tmp$.过滤.tmp文件。那么,该源文件为不过滤的源文件,即需要对该文件进行读取,否则不对该文件进行读取。在对源文件进行正则表达式过滤和已读取文件的过滤之后,按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。例如,源文件中存在同一日期的分别以18点、19点和20点为末次修改时间的源文件需要读取时,则优先读取以18点为末次修改时间的源文件,再读取以19点为末次修改时间的源文件,最后读取以20点为末次修改时间的源文件。本专利技术实施例所提供的基于Flume的数据处理方法,通过保存已获取的源文件的源文件名称到源文件名称组,并通过查询所述源文件名称组过滤已读取完毕的源文件,相比于现有技术,可以在不改变源文件名称的情况下,过滤已被读取的源文件。如图4所示,本专利技术实施例提供的基于Flume的数据处理装置包括:获取单元401,用于在源文件读取完毕后,获取被读取完毕的源文件的所述源文件名称。保存单元402,用于保存所述源文件名称到源文件名称组。过滤单元403,用于通过查询所述源文件名称组过滤掉已读取完毕的源文件。在本专利技术实施例中,保存单元402保存源文件名称到源文件名称组中时,具本文档来自技高网
...
一种基于Flume的数据处理方法及装置

【技术保护点】
一种基于Flume的数据处理方法,其特征在于,所述方法包括:在源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;保存所述源文件名称到源文件名称组;通过查询所述源文件名称组过滤掉已读取完毕的源文件。

【技术特征摘要】
1.一种基于Flume的数据处理方法,其特征在于,所述方法包括:在源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;保存所述源文件名称到源文件名称组;通过查询所述源文件名称组过滤掉已读取完毕的源文件。2.根据权利要求1所述的方法,其特征在于,所述保存所述源文件名称到源文件名称组,包括:保存所述源文件名称到表格文件中的源文件名称组;或者,保存所述源文件名称到数据库中的源文件名称组。3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:根据正则表达式对所述源文件进行过滤。4.根据权利要求1或2所述的方法,其特征在于,所述过滤掉已读取完毕的源文件之后,所述方法还包括:按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。5.根据权利要求3所述的方法,其特征在于,所述根据正则表达式对所述源文件进行过滤之前,所述方法还包括:在不需要过滤的源文件名称中预先...

【专利技术属性】
技术研发人员:陈尧
申请(专利权)人:咪咕文化科技有限公司
类型:发明
国别省市:北京,11

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1