CN106855837B - 一种基于Flume的数据处理方法及装置 - Google Patents

一种基于Flume的数据处理方法及装置 Download PDF

Info

Publication number
CN106855837B
CN106855837B CN201611161579.5A CN201611161579A CN106855837B CN 106855837 B CN106855837 B CN 106855837B CN 201611161579 A CN201611161579 A CN 201611161579A CN 106855837 B CN106855837 B CN 106855837B
Authority
CN
China
Prior art keywords
source file
file name
read
source
filtering
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201611161579.5A
Other languages
English (en)
Other versions
CN106855837A (zh
Inventor
陈尧
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
MIGU Culture Technology Co Ltd
Original Assignee
MIGU Culture Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by MIGU Culture Technology Co Ltd filed Critical MIGU Culture Technology Co Ltd
Priority to CN201611161579.5A priority Critical patent/CN106855837B/zh
Publication of CN106855837A publication Critical patent/CN106855837A/zh
Application granted granted Critical
Publication of CN106855837B publication Critical patent/CN106855837B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F11/00Error detection; Error correction; Monitoring
    • G06F11/30Monitoring
    • G06F11/3065Monitoring arrangements determined by the means or processing involved in reporting the monitored data
    • G06F11/3072Monitoring arrangements determined by the means or processing involved in reporting the monitored data where the reporting involves data filtering, e.g. pattern matching, time or event triggered, adaptive or policy-based reporting

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Vision & Pattern Recognition (AREA)
  • Quality & Reliability (AREA)
  • Physics & Mathematics (AREA)
  • General Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明公开了一种基于Flume的数据处理方法,所述方法包括:在源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;保存所述源文件名称到源文件名称组;通过查询所述源文件名称组过滤掉已读取完毕的源文件。本发明还公开了一种基于Flume的数据处理装置。

Description

一种基于Flume的数据处理方法及装置
技术领域
本发明涉及数据处理技术,尤其涉及一种基于Flume的数据处理方法及装置。
背景技术
Flume是Cloudera提供的一个高可用、高可靠、分布式的海量日志采集、聚合和传输的系统,Flume支持在日志系统中定制各类数据发送方,用于收集数据,其中,Flume提供了从控制台(console)、RPC(Thrift-RPC)、文件(text)、tail(UNIX tail)、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保存源文件名称到源文件名称组中时,具体用于保存所述源文件名称到表格文件中的源文件名称组;也可以用于保存所述源文件名称到数据库中的源文件名称组。即保存单元402可以采用建立表格的方式保存源文件名称,也可以采用建立数据库的方式保存源文件名称。
在对源文件进行已读取源文件过滤时,获取单元401扫描监听目录,监控源文件的读取情况,一旦监控到有源文件读取完毕,则获取被读取完毕的源文件名称。
之后,保存单元402将获取到的读取完毕的源文件的名称,保存在表格或数据库中。
过滤单元403在对文件进行过滤时,通过查询该表格或数据库,即可以获知哪些源文件已经被读取完毕,从而可以达到过滤已读取完毕的源文件的目的。
采用本发明实施例中的技术方案,若agent或者源文件所在的服务器期望查询文件,则可以按照原有的文件命名格式(如**年**月**日**分**日志)来生成期望查询的源文件名称,并根据生成的源文件名称进行文件查询。或者,agent或者所述服务器也可以接收用户输入的该格式的源文件名称,并根据该源文件名称进行文件查询。
在本发明实施例中,不仅使用过滤单元403对已读取的源文件进行过滤的文件过滤内容,还对预先设置的不需要读取的源文件的过滤,因此,过滤单元403还用于根据正则表达式对所述源文件进行过滤。
在过滤单元403使用正则表达式对所述源文件进行过滤之前,需要在不需要过滤的源文件名称中预先设置筛选字段。因此,基于Flume的数据处理装置还包括预设单元(图中为示出),用于在不需要过滤的源文件名称中预先设置筛选字段。
例如,可以预先设置默认值^$,即若源文件名称里有这个默认值,则需要读取该源文件。例如某源文件的名称可以设置为:^.*\.tmp$.过滤.tmp文件。那么,该源文件为不过滤的源文件,即需要对该文件进行读取,否则不对该文件进行读取。
在对源文件进行正则表达式过滤和已读取文件的过滤之后,还需要读取过滤后的源文件,因此,本发明实施例基于Flume的数据处理装置还包括读取单元(图中未示出),用于按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。
例如,源文件中存在同一日期的分别以18点、19点和20点为末次修改时间的源文件需要读取时,读取单元优先读取以18点为末次修改时间的源文件,再读取以19点为末次修改时间的源文件,最后读取以20点为末次修改时间的源文件。
本发明实施例所提供的基于Flume的数据处理装置,通过保存已获取的源文件的源文件名称到源文件名称组,并通过查询所述源文件名称组过滤已读取完毕的源文件,相比于现有技术,可以在不改变源文件名称的情况下,过滤已被读取的源文件。
在实际应用中,获取单元401、保存单元402、过滤单元403、读取单元以及预设单元均可由位于基于Flume的数据处理装置上的中央处理器(CPU,Central Processing Unit)、微处理器(MPU,Micro Processor Unit)、数字信号处理器(DSP,Digital SignalProcessor)、或现场可编程门阵列(FPGA,Field Programmable Gate Array)等实现。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、或计算机程序产品。因此,本发明可采用硬件实施例、软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器和光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
以上所述,仅为本发明的较佳实施例而已,并非用于限定本发明的保护范围。

Claims (8)

1.一种基于Flume的数据处理方法,其特征在于,所述方法包括:
Flume系统中的agent扫描监听目录,在监控到源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;
所述agent保存所述源文件名称到源文件名称组;
所述agent通过查询所述源文件名称组过滤掉已读取完毕的源文件;
按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。
2.根据权利要求1所述的方法,其特征在于,所述保存所述源文件名称到源文件名称组,包括:
保存所述源文件名称到表格文件中的源文件名称组;
或者,保存所述源文件名称到数据库中的源文件名称组。
3.根据权利要求1或2所述的方法,其特征在于,所述方法还包括:
根据正则表达式对所述源文件进行过滤。
4.根据权利要求3所述的方法,其特征在于,所述根据正则表达式对所述源文件进行过滤之前,所述方法还包括:
在不需要过滤的源文件名称中预先设置筛选字段。
5.一种基于Flume的数据处理装置,其特征在于,所述装置应用于Flume系统中的agent,包括:
获取单元,用于扫描监听目录,在监控到源文件读取完毕后,获取被读取完毕的所述源文件的源文件名称;
保存单元,用于保存所述源文件名称到源文件名称组;
过滤单元,用于通过查询所述源文件名称组过滤掉已读取完毕的源文件;
读取单元,用于按照所述源文件的末次更改时间顺序优先读取末次更改时间最早的源文件。
6.根据权利要求5所述的装置,其特征在于,所述保存单元具体用于:
保存所述源文件名称到表格文件中的源文件名称组;
或者,保存所述源文件名称到数据库中的源文件名称组。
7.根据权利要求5或6所述的装置,其特征在于,所述过滤单元,还用于根据正则表达式对所述源文件进行过滤。
8.根据权利要求7所述的装置,其特征在于,所述装置还包括预设单元,用于在不需要过滤的源文件名称中预先设置筛选字段。
CN201611161579.5A 2016-12-15 2016-12-15 一种基于Flume的数据处理方法及装置 Active CN106855837B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201611161579.5A CN106855837B (zh) 2016-12-15 2016-12-15 一种基于Flume的数据处理方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201611161579.5A CN106855837B (zh) 2016-12-15 2016-12-15 一种基于Flume的数据处理方法及装置

Publications (2)

Publication Number Publication Date
CN106855837A CN106855837A (zh) 2017-06-16
CN106855837B true CN106855837B (zh) 2020-12-18

Family

ID=59125857

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201611161579.5A Active CN106855837B (zh) 2016-12-15 2016-12-15 一种基于Flume的数据处理方法及装置

Country Status (1)

Country Link
CN (1) CN106855837B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108073705B (zh) * 2017-12-18 2022-06-14 浪潮云信息技术股份公司 一种分布式海量数据聚合采集方法

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092712A (zh) * 2011-11-04 2013-05-08 阿里巴巴集团控股有限公司 一种任务中断恢复方法和设备
CN104753972A (zh) * 2013-12-25 2015-07-01 腾讯科技(深圳)有限公司 网络资源收藏处理的方法和服务器

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8825473B2 (en) * 2009-01-20 2014-09-02 Oracle International Corporation Method, computer program and apparatus for analyzing symbols in a computer system
CN104503864A (zh) * 2014-11-20 2015-04-08 北京世纪高蓝科技有限公司 一种基于局域网的文件备份方法和装置
CN105930379A (zh) * 2016-04-14 2016-09-07 北京思特奇信息技术股份有限公司 一种利用拦截器进行日志数据收集的方法及系统

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103092712A (zh) * 2011-11-04 2013-05-08 阿里巴巴集团控股有限公司 一种任务中断恢复方法和设备
CN104753972A (zh) * 2013-12-25 2015-07-01 腾讯科技(深圳)有限公司 网络资源收藏处理的方法和服务器

Also Published As

Publication number Publication date
CN106855837A (zh) 2017-06-16

Similar Documents

Publication Publication Date Title
CN113360554B (zh) 一种数据抽取、转换和加载etl的方法和设备
CN110162544B (zh) 异构数据源数据获取方法及装置
AU2010357942A1 (en) Database backing-up and recovering method and device
WO2006012318A3 (en) Methods and systems for indexing files and adding associated metadata to index and metadata databases
CN107959695B (zh) 一种数据传输方法及装置
CN109669976B (zh) 基于etl的数据服务方法及设备
CN112256647B (zh) 一种文件处理的方法及装置
CN110493342B (zh) 文件传输方法、装置、电子设备及可读存储介质
CN106843820B (zh) 代码处理方法和装置
US10387370B2 (en) Collecting test results in different formats for storage
WO2018157686A1 (zh) 网页爬取方法和装置
CN106648839B (zh) 数据处理的方法和装置
CN106855837B (zh) 一种基于Flume的数据处理方法及装置
CN108874379B (zh) 页面的处理方法及装置
CN113391973A (zh) 一种物联网云容器日志收集方法及装置
CN110704536A (zh) 分布式数据处理方法、装置、系统及电子设备
CN110704286B (zh) 一种日志处理方法、装置及电子设备
CN107463618B (zh) 一种索引创建方法和装置
CN106648913B (zh) 数据采集软件标识方法及装置
CN110888840A (zh) 分布式文件系统中的文件查询方法、装置、设备及介质
CN110880992A (zh) 网络遥测telemetry协议数据的采集方法及装置
CN110019497B (zh) 一种数据读取方法及装置
CN112559118A (zh) 应用数据迁移方法、装置、电子设备及存储介质
CN115757642A (zh) 一种基于归档日志文件的数据同步方法及装置
CN108228613B (zh) 数据的读取方法及装置

Legal Events

Date Code Title Description
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant