CN109542593B - 一种基于nifi的数据处理流程设计方法 - Google Patents
一种基于nifi的数据处理流程设计方法 Download PDFInfo
- Publication number
- CN109542593B CN109542593B CN201811425482.XA CN201811425482A CN109542593B CN 109542593 B CN109542593 B CN 109542593B CN 201811425482 A CN201811425482 A CN 201811425482A CN 109542593 B CN109542593 B CN 109542593B
- Authority
- CN
- China
- Prior art keywords
- processor
- cluster
- file
- nifi
- files
- 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
Links
- 238000012545 processing Methods 0.000 title claims abstract description 63
- 238000000034 method Methods 0.000 title claims abstract description 37
- 238000013461 design Methods 0.000 title claims abstract description 11
- 230000008569 process Effects 0.000 claims description 12
- 230000006978 adaptation Effects 0.000 claims description 10
- 238000005192 partition Methods 0.000 claims description 10
- 230000003247 decreasing effect Effects 0.000 claims description 5
- 230000008859 change Effects 0.000 abstract description 2
- 238000006243 chemical reaction Methods 0.000 description 8
- 238000010586 diagram Methods 0.000 description 8
- 238000007726 management method Methods 0.000 description 8
- 238000012546 transfer Methods 0.000 description 7
- 238000011161 development Methods 0.000 description 6
- 238000011144 upstream manufacturing Methods 0.000 description 6
- 230000005540 biological transmission Effects 0.000 description 4
- 230000008878 coupling Effects 0.000 description 2
- 238000010168 coupling process Methods 0.000 description 2
- 238000005859 coupling reaction Methods 0.000 description 2
- 230000014509 gene expression Effects 0.000 description 2
- 230000000737 periodic effect Effects 0.000 description 2
- 241001659321 ANME-2 cluster Species 0.000 description 1
- 230000009471 action Effects 0.000 description 1
- 238000004891 communication Methods 0.000 description 1
- 230000001419 dependent effect Effects 0.000 description 1
- 238000003032 molecular docking Methods 0.000 description 1
- 238000013486 operation strategy Methods 0.000 description 1
- ZLIBICFPKPWGIZ-UHFFFAOYSA-N pyrimethanil Chemical compound CC1=CC(C)=NC(NC=2C=CC=CC=2)=N1 ZLIBICFPKPWGIZ-UHFFFAOYSA-N 0.000 description 1
- 238000012216 screening Methods 0.000 description 1
- 239000002699 waste material Substances 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/466—Transaction processing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F9/00—Arrangements for program control, e.g. control units
- G06F9/06—Arrangements for program control, e.g. control units using stored programs, i.e. using an internal store of processing equipment to receive or retain programs
- G06F9/46—Multiprogramming arrangements
- G06F9/54—Interprogram communication
- G06F9/543—User-generated data transfer, e.g. clipboards, dynamic data exchange [DDE], object linking and embedding [OLE]
Abstract
本发明公开一种基于NIFI的数据处理流程设计方法,涉及数据处理领域;充分发挥集群性能,通过获取采集文件名列表的processor;通过kafka将文件列表分发到nifi集群的各个节点上的processor;可多节点多线程并行下载远端机文件的processor;根据不同的文件解析规则实现对不同的采集文件进行解析的processor,解决了数据处理单点瓶颈问题,并可通过灵活配置采集实例、并发度、调度策略、文件解析规则,解决数据处理流程和采集文件格式发生变化时需要重新定制代码的问题。
Description
技术领域
本发明公开一种数据处理流程设计方法,涉及数据处理领域,具体地说是一种基于NIFI的数据处理流程设计方法。
背景技术
传统的网管数据采集是通过开发专门的业务应用程序,通过编写脚本程序,再采用crontab进行定时调度,进而实现网管数据的定时采集。网管数据的采集目录通过读取配置文件的形式获取。流程繁琐,容易出现问题。
采集文件的解析实现也是通过采用定制化的代码程序,针对一种类型的采集文件及格式,开发相应代码,与采集文件类型强相关。这种文件解析方式的好处是代码逻辑简单容易实现,劣势是当对接新的采集文件时,需要重新定制开发代码,工作量大,对接时间长。当对接文件类型增多时,文件解析程序不好管理。
采用现有的应用服务方式进行文件的采集解析时,当数据量增大,容易产生单点瓶颈问题,进而影响整个系统的工作效率。
本发明一种基于NIFI的数据处理流程设计方法,充分发挥集群性能,通过获取采集文件名列表的processor;通过kafka将文件列表分发到nifi集群的各个节点上的processor;可多节点多线程并行下载远端机文件的processor;根据不同的文件解析规则实现对不同的采集文件进行解析的processor,解决了数据处理单点瓶颈问题,并可通过灵活配置采集实例、并发度、调度策略、文件解析规则,解决数据处理流程和采集文件格式发生变化时需要重新定制代码的问题。
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者规模的网站中的所有动作流数据。
NIFI的技术名词:
Processor:每一个处理单元叫processor,又叫微处理器,作为独立的处理单元。
Processor运行模式:主节点运行模式和集群运行模式。主节点运行模式是指processor运行在nifi集群的一个节点上。集群运行模式是指processor运行在集群的所有节点上。
Flowfile:processor之间数据的传递载体叫flowfile。
转换关系:processor之间数据传递路由方向,可以自主设定多个转换关系。例如,成功处理的数据路由到success关系中,失败数据路由到failure关系中。
sftp是Secure File Transfer Protocol的缩写,安全文件传送协议。可以为传输文件提供一种安全的网络的加密方法。
发明内容
本发明针对现有技术中的问题,提供一种基于NIFI的数据处理流程设计方法,解决采集解析数据量增大时,系统容易形成单点瓶颈的问题,并简化原有处理流程的复杂度和与业务的强耦合性,实现文件采集解析配置灵活简单和数据处理流程与业务结合松耦合的目的。
本发明提出的具体方案是:
一种基于NIFI的数据处理流程设计方法:
NIFI集群中主节点运行模式的Collect processor采集目录下文件的文件列表,传递给集群运行模式下的PublishKafka processor,
PublishKafka processor将文件列表发送到kafka的Topic中,集群运行模式下的ConsumeKafka processor读取kafka的Topic的文件列表传递给集群运行模式下的FetchFiles processor,
FetchFiles processor根据文件列表到目录下下载相应文件,并将下载的相应文件传递到集群运行模式下的Parse processor,Parse processor根据相应文件的解析规则和文件类型,对相应文件进行适配解析。
所述的方法中Collect processor、PublishKafka processor、ConsumeKafkaprocessor、FetchFiles processor和Parse processor之间利用flowfile传递数据。
所述的方法中Collect processor利用flowfile将文件列表传递给PublishKafkaprocessor,PublishKafka processor将flowfile发送到kafka的Topic分区上,NIFI集群的每个节点都可从Topic分区上获得文件列表。
所述的方法中NIFI集群的某个节点ConsumeKafka processor读取kafka的Topic的文件列表传递给NIFI集群的其他节点的FetchFiles processor,所述FetchFilesprocessor进行相应的数据处理。
所述的方法中FetchFiles processor根据文件列表到目录下下载相应文件,将下载的相应文件分发到NIFI集群的相应的节点上,使收到相应文件的NIFI集群节点同时处理数据。
所述的方法中FetchFiles processor根据文件列表到目录下下载相应文件,包括csv文件类型和xml文件类型,并将下载的相应文件传递到集群运行模式下的Parseprocessor,Parse processor根据csv文件类型和xml文件类型的解析规则,对相应文件进行适配解析。
所述的方法中:
NIFI集群中主节点运行模式的Collect processor采集目录下xml文件的文件列表,传递给集群运行模式下的PublishKafka processor,
PublishKafka processor将文件列表发送到kafka的Topic中,集群运行模式下的ConsumeKafka processor读取kafka的Topic的文件列表传递给集群运行模式下的FetchFiles processor,
FetchFiles processor根据文件列表到目录下下载相应的xml文件,并将下载的相应xml文件传递到集群运行模式下的Parse processor,Parse processor根据相应xml文件的解析规则,对相应xml文件进行适配解析;
和/或,
NIFI集群中主节点运行模式的Collect processor采集目录下csv文件的文件列表,传递给集群运行模式下的PublishKafka processor,
PublishKafka processor将文件列表发送到kafka的Topic中,集群运行模式下的ConsumeKafka processor读取kafka的Topic的文件列表传递给集群运行模式下的FetchFiles processor,
FetchFiles processor根据文件列表到目录下下载相应的csv文件,并将下载的相应csv文件传递到集群运行模式下的Parse processor,Parse processor根据相应csv文件的解析规则,对相应csv文件进行适配解析。
所述的方法中NIFI集群中主节点运行模式的Collect processor采集目录下文件的文件列表之前,针对数据处理流程配置采集实例,并获取采集实例的信息,对Collectprocessor、PublishKafka processor、ConsumeKafka processor、FetchFiles processor和Parse processor进行相应配置,以便数据处理流程进行。
所述的方法中针对数据处理流程配置采集实例,配置数据处理的processor线程数及processor运行周期,processor包括Collect processor、PublishKafka processor、ConsumeKafka processor、FetchFiles processor和Parse processor。
所述的方法中针对数据处理流程,根据数据量配置采集实例,包括:
增加或减少processor的并行线程数;
提高或降低processor运行周期的时间间隔;
增加或减少NIFI集群的节点数进而加快数据处理流程。
本发明的有益之处是:
1、本发明中数据采集解析流程划分为相互独立的processor模块,模块与模块之间采用通用的flowfile进行数据传递,每个模块负责完成数据的一次处理过程,不同processor模块可以分别进行不同的调度处理,不但避免某一节点的数据处理瓶颈,还保障了整个处理流程的高效,又避免了整体占用资源过高造成资源的浪费;
2、本发明通过主节点模式获取采集文件名列表,不仅数据量小,处理速度有保障,还将文件名列表通过kafka分发到nifi集群的各个节点,充分发挥nifi集群的作用,将数据量大的下载操作分发到nifi集群的各个节点上,避免造成数据处理的单点瓶颈,在保证处理质量的基础上,提高了处理效率;
3、本发明进一步的技术方案还利用processor的配置,灵活配置采集不同采集实例下的采集文件,只需要修改配置项中相关信息,可灵活配置调度策略,当数据量大时,可灵活配置增加线程数,降低数据处理调度时间间隔,以保障数据处理过程,当数据量变小时,可降低线程数等以减少系统资源占用。
4、本发明对文件进行解析时,在进一步的技术方案中可以将文件解析规则抽取为配置文件,这样针对不同的采集文件格式时,可通过配置不同的文件解析规则,实现对不同格式文件的解析,提高了该processor的通用性。与之前针对不同的采集类型文件需要开发不同的采集解析工程相比,大大提高了开发效率;
5、本发明由于该处理流程是依赖于nifi集群,该数据采集解析流程的能力与集群的能力有直接关系,当集群节点数增加时,该数据处理流程能力与之成线性关系。因此,基于nifi的数据处理流程可适用于不同数据级的数据处理过程。
附图说明
图1是nifi集群的整体配置流程示意图;
图2是Collect processor属性参数配置页面图;
图3是Collect processor任务调度配置页面图;
图4是processor之间连接关系的配置图;
图5是PublishKafka processor属性配置页面图;
图6是ConsumeKafka processor属性配置页面图;
图7是FetchFiles processor属性配置页面图;
图8是Parse processor属性页面配置图。
图9是本发明方法的流程示意图。
具体实施方式
本发明提供一种基于NIFI的数据处理流程设计方法:
NIFI集群中主节点运行模式的Collect processor采集目录下文件的文件列表,传递给集群运行模式下的PublishKafka processor,
PublishKafka processor将文件列表发送到kafka的Topic中,集群运行模式下的ConsumeKafka processor读取kafka的Topic的文件列表传递给集群运行模式下的FetchFiles processor,
FetchFiles processor根据文件列表到目录下下载相应文件,并将下载的相应文件传递到集群运行模式下的Parse processor,Parse processor根据相应文件的解析规则和文件类型,对相应文件进行适配解析。
结合实施例与附图,进一步说明本发明方法的应用。
其中Processor:为处理单元,又叫微处理器,在NIFI集群中独立行驶职能。
Processor运行模式:主节点运行模式和集群运行模式。主节点运行模式是指processor运行在nifi集群的某一个节点上;集群运行模式是指processor运行在nifi集群的所有节点上。
Collect processor为采集处理单元,PublishKafka processor为发送卡夫卡消息处理单元,ConsumeKafka processor为消费卡夫卡消息处理单元,FetchFilesprocessor为获取处理单元,Parse processor为解析处理单元。
flowfile:processor之间数据的传递载体为flowfile。
转换关系:processor之间数据传递路由方向,可以自主设定多个转换关系。例如,成功处理的数据路由到success关系中,失败数据路由到failure关系中。
利用本发明进行数据处理时,
步骤1:在nifi集群中,运行在主节点模式下的Collect processor可通过sftp方式获取目录下文件的文件列表,并将获取到的每个文件列表作为一个flowfile传递给运行在集群模式下的PublishKafka processor,
步骤2:PublishKafka processor将传递过来的flowfile转化为kafka的Topic,即文件列表被分到kafka的Topic分区上,实现数据分发到每个nifi节点,
步骤3:运行在集群模式下的ConsumeKafka processor读取kafka的Topic分区中的文件列表,转换为flowfile传递给运行在集群模式下的FetchFiles processor,
步骤4:FetchFiles processor根据传递过来的文件列表通过sftp方式到文件目录下去下载相应文件,将文件转换为flowfile传递到运行在集群模式下的Parseprocessor,
步骤5:Parse processor获取传递过来的相应文件,根据相应文件解析规则和文件类型,可适配解析为不同的文件类型。
在上述实施过程中,步骤2中为保证nifi集群每个节点都可以获取到文件列表,在建立kafka的Topic时,分区个数最好大于nifi集群的节点个数,由于kafka运行在集群模式下,文件列表被分到kafka的多个分区上,一个或多个分区可以对应一个nifi集群节点,分区上的文件列表数据分到nifi集群的每个节点上,进而实现文件列表数据分发到每个nifi集群节点。
在上述实施过程中,NIFI集群的某个节点ConsumeKafka processor读取kafka的Topic的文件列表可以传递给NIFI集群的其他节点的FetchFiles processor,将数据量大的下载操作分发到NIFI集群的各个节点上,避免造成数据处理的单点瓶颈,在保证处理质量的基础上,提高了处理效率;并且NIFI集群某个节点中的processor与其他节点的processor都运行在集群模式下时,上游节点的processor处理过的数据也可以通过flowfile传递给下游节点的processor,利用下游节点的processor进行数据处理,例如,NIFI集群节点1的processor1和,NIFI集群节点2的processor2都运行在集群模式下时,节点1上的processor1处理过的数据通过flowfile传递给下游processor2进行处理,而原始数据还是在节点1上。
在上述实施过程中,步骤5中Parse processor运行在集群模式下,获取FetchFiles processor传递过来的相应文件,根据相应文件解析规则和文件类型,可适配解析不同的文件类型,例如解析xml文件、csv文件等,
当NIFI集群中主节点运行模式的Collect processor采集目录下xml文件的文件列表,传递给集群运行模式下的PublishKafka processor,
PublishKafka processor将文件列表发送到kafka的Topic中,集群运行模式下的ConsumeKafka processor读取kafka的Topic的文件列表传递给集群运行模式下的nifi集群各个节点的FetchFiles processor,
FetchFiles processor根据文件列表到目录下下载相应的xml文件,并将下载的相应xml文件传递到集群运行模式下的Parse processor,Parse processor根据相应xml文件的解析规则,对相应xml文件进行适配解析;
当NIFI集群中主节点运行模式的Collect processor采集目录下csv文件的文件列表,传递给集群运行模式下的PublishKafka processor,
PublishKafka processor将文件列表发送到kafka的Topic中,集群运行模式下的ConsumeKafka processor读取kafka的Topic的文件列表传递给集群运行模式下的nifi集群各个节点的FetchFiles processor,
FetchFiles processor根据文件列表到目录下下载相应的csv文件,并将下载的相应csv文件传递到集群运行模式下的Parse processor,Parse processor根据相应csv文件的解析规则,对相应csv文件进行适配解析。
在上述实施的基础上,具体到网管性能数据进行数据处理的应用场景,网关性能数据的可利用专门的采集机,即采集下来的海量实时数据存储在采集机上。可利用性能管理系统(PM)对每个采集机创建一个采集实例,采集实例的目录中包含采集机的所有相关信息,包括采集机的IP,文件存放目录等。同时根据用户在PM系统中配置的需要采集的采集指标,生成不同的采集指标类型和网元关系配置文件。同时还可以配置文件解析规则文件,根据不同的采集文件类型,编写相应的文件解析规则。
NIFI集群配置Collect processor,进行属性配置,
The EMS entity path配置采集实例,读取采集实录中的配置文件,获取采集机的IP和网管性能数据的存储目录,通过sftp方式获取采集机上采集文件的文件目录;
Regex Expression配置是对采集文件进行文件名过滤。对符合条件的文件进行文件名获取,组成文件列表,对不符合筛选用的正则表达式的文件不进去获取;
并且在The EMS entity path配置时添加不同的采集实例可以对不同的采集机进行文件的采集,大大增加了采集流程配置的灵活性;
还可以灵活配置Collect processor的运行策略,在调度策略处可选择定时调度或者周期调度;由于采集机进行网管性能数据采集是持续进行的,所以针对网管性能数据采集可以选择周期调度,即每隔多长时间进行一次文件列表获取。在运行计划中可配置每隔多长时间进行一次文件列表获取。并行任务可配置决定Collect processor在某一节点上是单线程还是多线程运行,不用在程序中自己实现多线程任务,针对不同的业务场景可进行适当的并行数配置,避免出现数据积压。在执行节点配置可选择primary node only模式和all nodes模式,即主节点模式或集群模式,primary node only配置Collectprocessor只在nifi集群的主节点上运行,all nodes模式是配置Collect processor在nifi集群的所有节点上运行。获取采集机文件目录下的文件列表只能运行在primary nodeonly模式下。因为采集机目录只有一个,如果采用all nodes模式就会获取三份重复的数据,导致数据重复。
配置PublishKafka processor:PublishKafka processor配置主要属性,调度主要配置调度策略为时间间隔调度,调度时间间隔可根据情况确定,比如0s,执行节点选择all nodes,并行任务数根据情况确定,比如为1;属性配置项如下:
Kafka Brokers是配置kafka的节点信息,每个节点kafka信息通过逗号分隔开,Security Protocol,安全策略,配置kafka通信的安全策略:此处有PlAINTEXT、SSL、SASL_PLANITEXT和SASL_SSL四种安全策略,此处可选择SASL_PLANITEXT。Kerberos ServiceName,由于整个nifi集群在大数据平台上,每个组件都可配置Kerberos认证,此处添加kafka在Kerberos认证中心的名称:kafka。Kerberos Principal和Kerberos Keytab填写nifi开发用户对kafka的使用权限认证信息,否则nifi开发用户没有权限使用kafka组件。Topic name填写创建的kafka的topic名称,用来存储文件名列表信息。DeliveryGuarantee项用来选择topic的分发策略:Best effort,Guarantee Single Node Delivery和Guarantee Replicated Delivery三种策略。第一种是效率最高的情况进行topic分发,第二种是保证单节点进行topic分发,第三种是保证分区topic的分发。本发明最后一种策略,保证文件列表在各个节点上去分发,保证数据在每个节点上同时进行处理,进而提高数据处理效率。其他选择系统默认的参数即可。Kafka可采用nifi系统原生的processor,不需要进行代码级开发。该流程的配置过程中首先选择采用原生processor,从而降低开发工作量,其次在开发processor是进来开发与业务无关的processor,从而降低后期流程配置的工作量。
配置ConsumeKafka processor:ConsumeKafka processor主要实现对kafkatopic的读取,进而转化为flowfile传递给下游processor。除了与PublishKakfaprocessor一致的参数配置外,还有两项参数需要配置:A、Group ID:用来标识kafka topic所在的组;B、Offset Reset:是表明读取kafka topic信息的时刻,有三种选择earliest、none和latest。Earliest表明从kafka的第一个topic数据开始读取,none表明不配置,latest表明从启动该processor开始之后的topic数据才读取。为保证所有的topic数据都被读取,本发明可选择earliest。PublishKafka和ConsumeKafka之间不需要转换关系,将两者配置为同一个topic即可。
配置FetchFiles processor:FetchFiles processor主要实现根据上游flowfile传过来的文件列表去采集机上下载相应文件的功能。由于采集文件比较大,从几兆到几十兆大小都有,如果单节点来下载文件再进行分发处理的话,数据量大,效率低。而通过采集实例,对FetchFiles processor配置参数,即The EMS entity path配置采集实例的采集目录,与FetchFiles processor需要配置相同的采集实例目录。FetchFiles processor通过获取采集实例目录的采集机参数信息,去远端机下载文件,上游传过来的采集文件列表在哪个nifi节点上,哪个nifi节点就会去下载该文件。FetchFiles processor运行在allnodes模式下,nifi集群的每个节点都会去下载相应的采集文件,分别占用各自节点的资源,大大提高了下载效率。
配置Parse processor,Parse processor实现了采集的相应文件的解析过程。TheEMS entity path采集实例目录,该配置参数与上述Collect processor和FetchFilesprocessor配置的参数保持一致;
The Motype parse rule配置的参数是网元关系的解析文件目录,通过该文件可以获取采集文件指标所在的网元关系,在生成的解析后文件中使用该数据;
The file type parse rule文件格式解析规则,例如,同一种类型的xml文件,但是其文件形式可能千差万别,本发明设计将文件形式抽取成配置文件,采用同一段解析程序来解析所有的文件形式,大大提高工作效率;
The file type选择文件类型,可在此项选择配置,解析生成的文件通过flowfile传递给下游processor。
上述提及的Processor之间有转换关系,进行转换关系配置时可以配置上游processor是处理成功的数据传递到下游processor,还是处理失败的数据传递到下游processor,同时可选择转换关系队列中的flowfile的优先级策略。比如Flowfile是先进先出还是后进后出等策略。可配置背压数据策略,背压对象阈值即队列中flowfile数据对象个数达到该阈值时,上游processor自动停止工作。背压数据大小阈值即队列中flowfile数据总量达到阈值大小时,上游processor停止工作等等。
在上述实施配置的过程中,如果要新增一个数据处理流程,只需要将现有的数据采集解析流程保存为模板,在需要新增数据处理流程的工作页面中,添加模块,即可新增加一个数据处理流程,重新配置相应配置项即可实现新采集实例的采集流程,大大提高了工作效率。
Claims (5)
1.一种基于NIFI的数据处理流程设计方法,其特征是NIFI集群中主节点运行模式的Collect processor采集目录下文件的文件列表,传递给集群运行模式下的PublishKafkaprocessor,
PublishKafka processor将文件列表发送到kafka的Topic中,集群运行模式下的ConsumeKafka processor读取kafka的Topic的文件列表传递给集群运行模式下的FetchFiles processor,
所述FetchFiles processor根据文件列表到目录下下载相应文件,包括csv文件类型和xml文件类型,并将下载的相应文件传递到集群运行模式下的Parse processor,Parseprocessor根据csv文件类型和xml文件类型的解析规则,对相应文件进行适配解析;
数据处理具体流程为:
所述NIFI集群中主节点运行模式的Collect processor采集目录下文件的文件列表之前,针对数据处理流程,根据数据量配置采集实例,包括:增加或减少processor的并行线程数;提高或降低processor运行周期的时间间隔;增加或减少NIFI集群的节点数进而加快数据处理流程;
配置数据处理的processor线程数及processor运行周期,processor包括Collectprocessor、PublishKafka processor、ConsumeKafka processor、FetchFiles processor和Parse processor,
并获取采集实例的信息,对Collect processor、PublishKafka processor、ConsumeKafka processor、FetchFiles processor和Parse processor进行相应配置,以便数据处理流程进行,
NIFI集群中主节点运行模式的Collect processor采集目录下xml文件的文件列表,传递给集群运行模式下的PublishKafka processor,
PublishKafka processor将文件列表发送到kafka的Topic中,集群运行模式下的ConsumeKafka processor读取kafka的Topic的文件列表传递给集群运行模式下的FetchFiles processor,
FetchFiles processor根据文件列表到目录下下载相应的xml文件,并将下载的相应xml文件传递到集群运行模式下的Parse processor,Parse processor根据相应xml文件的解析规则,对相应xml文件进行适配解析;
和/或,
NIFI集群中主节点运行模式的Collect processor采集目录下csv文件的文件列表,传递给集群运行模式下的PublishKafka processor,
PublishKafka processor将文件列表发送到kafka的Topic中,集群运行模式下的ConsumeKafka processor读取kafka的Topic的文件列表传递给集群运行模式下的FetchFiles processor,
FetchFiles processor根据文件列表到目录下下载相应的csv文件,并将下载的相应csv文件传递到集群运行模式下的Parse processor,Parse processor根据相应csv文件的解析规则,对相应csv文件进行适配解析。
2.根据权利要求1所述的方法,其特征是Collect processor、PublishKafkaprocessor、ConsumeKafka processor、FetchFiles processor和Parse processor之间利用flowfile传递数据。
3.根据权利要求2所述的方法,其特征是所述Collect processor利用flowfile将文件列表传递给PublishKafka processor,PublishKafka processor将flowfile发送到kafka的Topic分区上,NIFI集群的每个节点都可从Topic分区上获得文件列表。
4.根据权利要求1-3任一项所述的方法,其特征是NIFI集群的某个节点ConsumeKafkaprocessor读取kafka的Topic的文件列表传递给NIFI集群的其他节点的FetchFilesprocessor,所述FetchFiles processor进行相应的数据处理。
5.根据权利要求4所述的方法,其特征是FetchFiles processor根据文件列表到目录下下载相应文件,将下载的相应文件分发到NIFI集群的相应的节点上,使收到相应文件的NIFI集群节点同时处理数据。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811425482.XA CN109542593B (zh) | 2018-11-27 | 2018-11-27 | 一种基于nifi的数据处理流程设计方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811425482.XA CN109542593B (zh) | 2018-11-27 | 2018-11-27 | 一种基于nifi的数据处理流程设计方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109542593A CN109542593A (zh) | 2019-03-29 |
CN109542593B true CN109542593B (zh) | 2024-02-09 |
Family
ID=65851011
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811425482.XA Active CN109542593B (zh) | 2018-11-27 | 2018-11-27 | 一种基于nifi的数据处理流程设计方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109542593B (zh) |
Families Citing this family (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110673891B (zh) * | 2019-09-12 | 2022-08-02 | 济南浪潮数据技术有限公司 | 一种数据处理方法、装置、设备及介质 |
CN110851253B (zh) * | 2019-11-06 | 2023-05-12 | 万达信息股份有限公司 | 一种远程运维的方法、系统、存储介质及电子设备 |
CN112380218B (zh) * | 2020-11-18 | 2023-03-28 | 浪潮通信信息系统有限公司 | 一种基于etl进行数据仓库各层数据表汇总的自动触发方法 |
CN112685426A (zh) * | 2021-01-21 | 2021-04-20 | 浪潮云信息技术股份公司 | 一种基于NiFi的Kafka消费NewSQL CDC流数据转换方法 |
CN113688100B (zh) * | 2021-09-06 | 2023-07-18 | 北京普睿德利科技有限公司 | 一种气象数据的处理方法、装置、终端及存储介质 |
Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664616A (zh) * | 2018-05-14 | 2018-10-16 | 浪潮软件集团有限公司 | 一种基于ROWID的Oracle数据批量采集方法 |
-
2018
- 2018-11-27 CN CN201811425482.XA patent/CN109542593B/zh active Active
Patent Citations (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN108664616A (zh) * | 2018-05-14 | 2018-10-16 | 浪潮软件集团有限公司 | 一种基于ROWID的Oracle数据批量采集方法 |
Non-Patent Citations (2)
Title |
---|
Integrating Apache NiFi and Apache Kafka;Bryan Bende;《https://bryanbende.com/development/2016/09/15/apache-nifi-and-apache-kafka》;20160915;第1-14页 * |
Streaming Ona Data with NiFi, Kafka,Druid, and Superset;peterlubell-doughtie;《https://ona.io/home/streaming-ona-data-with-nifi-kafka-druid-and-superset/》;20170830;第1-18页 * |
Also Published As
Publication number | Publication date |
---|---|
CN109542593A (zh) | 2019-03-29 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109542593B (zh) | 一种基于nifi的数据处理流程设计方法 | |
CN109889575B (zh) | 一种边缘环境下的协同计算平台系统及方法 | |
US10873593B2 (en) | Mechanism for identifying differences between network snapshots | |
CN110058987B (zh) | 用于对计算系统进行追踪的方法、设备和计算机可读介质 | |
CN112507029B (zh) | 数据处理系统及数据实时处理方法 | |
EP2798793B1 (en) | Distributed system management | |
US7937716B2 (en) | Managing collections of appliances | |
US20120323941A1 (en) | Processing Queries for Event Data in a Foreign Representation | |
US20070083642A1 (en) | Fully distributed data collection and consumption to maximize the usage of context, resource, and capacity-based client server interactions | |
US20090063650A1 (en) | Managing Collections of Appliances | |
CN107463582A (zh) | 分布式部署Hadoop集群的方法及装置 | |
CN101741885A (zh) | 分布式系统及分布式系统处理任务流的方法 | |
US20190230011A1 (en) | Mechanism for facilitating efficient policy updates | |
CN107818039A (zh) | 电子系统中日志数据的管理 | |
CN115086250B (zh) | 一种网络靶场分布式流量发生系统与方法 | |
CN105183470A (zh) | 一种自然语言处理系统化服务平台 | |
CN102947798B (zh) | 计算机系统及其控制方法 | |
CN101741866A (zh) | 一种在线存储系统及方法 | |
CN103684851A (zh) | 数据采集方法和装置 | |
CN116661978B (zh) | 一种分布式的流程处理方法、装置及分布式业务流程引擎 | |
CN111405020B (zh) | 基于消息队列和fastDFS微服务架构的异步文件导出方法及系统 | |
JP2005322222A (ja) | 通信機能付加方法、プログラム、記録媒体及び通信装置 | |
CN116506300A (zh) | 一种网站流量数据统计方法和系统 | |
CN112417015A (zh) | 数据分发方法和装置、存储介质及电子装置 | |
CN114661416A (zh) | k8s容器集群的特定任务日志收集方法、装置及电子设备 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
CB02 | Change of applicant information |
Address after: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong Applicant after: INSPUR COMMUNICATION AND INFORMATION SYSTEM Co.,Ltd. Address before: No. 1036, Shandong high tech Zone wave road, Ji'nan, Shandong Applicant before: Beijing MetarNet Technology Co.,Ltd. |
|
CB02 | Change of applicant information | ||
GR01 | Patent grant | ||
GR01 | Patent grant |