CN109344189B - 一种基于NiFi的大数据计算方法及装置 - Google Patents
一种基于NiFi的大数据计算方法及装置 Download PDFInfo
- Publication number
- CN109344189B CN109344189B CN201811092712.5A CN201811092712A CN109344189B CN 109344189 B CN109344189 B CN 109344189B CN 201811092712 A CN201811092712 A CN 201811092712A CN 109344189 B CN109344189 B CN 109344189B
- Authority
- CN
- China
- Prior art keywords
- nifi
- big data
- processor
- executing
- queue
- 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
- 238000004364 calculation method Methods 0.000 title claims abstract description 48
- 238000000034 method Methods 0.000 claims abstract description 29
- 238000011144 upstream manufacturing Methods 0.000 claims description 21
- 238000012545 processing Methods 0.000 claims description 16
- 230000008569 process Effects 0.000 claims description 10
- 238000012544 monitoring process Methods 0.000 claims description 8
- 230000005540 biological transmission Effects 0.000 abstract description 11
- 238000011161 development Methods 0.000 description 5
- 230000009471 action Effects 0.000 description 3
- 238000012216 screening Methods 0.000 description 3
- 238000013480 data collection Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000001960 triggered effect Effects 0.000 description 2
- 240000000797 Hibiscus cannabinus Species 0.000 description 1
- 235000002905 Rumex vesicarius Nutrition 0.000 description 1
- 238000004458 analytical method Methods 0.000 description 1
- 238000005516 engineering process Methods 0.000 description 1
- 238000000605 extraction Methods 0.000 description 1
- 230000006872 improvement Effects 0.000 description 1
- 230000003993 interaction Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
- 230000003287 optical effect Effects 0.000 description 1
- 238000011160 research Methods 0.000 description 1
- 238000012546 transfer Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Images
Landscapes
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
- Debugging And Monitoring (AREA)
Abstract
本发明提供了一种基于NiFi的大数据计算方法及装置,该方法包括:确定若干Yarn队列,各Yarn队列上均运行有Spark、MapReduce、BigSql中的任一计算组件;针对各Yarn队列:开发针对当前Yarn队列的NiFi processor;接收外部上传的用户个人票据和当前Yarn队列上运行的目标计算组件可执行的jar包;根据用户个人票据判断该用户是否被赋予可执行当前Yarn队列的权限,若是,在监测到满足当前Yarn队列的预设运行条件时,通过NiFi processor调用目标计算组件,执行针对jar包的大数据计算任务。因此,本方案能够同时支持数据传输及数据计算的需求。
Description
技术领域
本发明涉及计算机技术领域,特别涉及一种基于NiFi的大数据计算方法及装置。
背景技术
现在的社会是一个高速发展的社会,科技发达,信息流通,人们之间的交流越来越密切,生活也越来越方便,大数据就是这个高科技时代的产物。大数据是如此重要,以至于其数据采集、储存、搜索、共享、分析,乃至可视化地呈现,都成为了当前重要的研究课题。其中,数据采集是一切大数据应用的开始和前提。
然而如今的社会需求并不只仅仅满足于大数据的抽取、传输等,现代社会需要的是信息,是从大数据中提取出对自己有用的用户需求信息。这就需要我们要从庞大数据中通过筛选来进行统计、计算,以获取所需数据信息。但是,传统的方案或产品并不能同时支持数据传输及数据计算的需求。
发明内容
本发明提供了一种基于NiFi的大数据计算方法及装置,能够同时支持数据传输及数据计算的需求。
为了达到上述目的,本发明是通过如下技术方案实现的:
一方面,本发明提供了一种基于NiFi的大数据计算方法,包括:
确定至少一个Yarn队列,每一个所述Yarn队列上均运行有Spark、MapReduce、BigSql中的任意一种计算组件;
针对每一个所述Yarn队列均执行:开发针对当前Yarn队列的NiFi processor;
接收外部上传的用户个人票据和所述当前Yarn队列上运行的目标计算组件可执行的jar(Java Archive,Java归档文件)包;
根据所述用户个人票据,判断持有所述用户个人票据的用户是否被赋予可执行所述当前Yarn队列的权限,若是,在监测到满足所述当前Yarn队列的预设运行条件时,通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务。
进一步地,所述目标计算组件为所述Spark或所述MapReduce;
该方法进一步包括:设置所述预设运行条件,其中,所述NiFi processor有上游连接时,所述预设运行条件包括所述NiFi processor的上游连接结束执行,以及,所述NiFiprocessor无上游连接时,所述预设运行条件包括达到设定的定时调度时间;
所述通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务,包括:将所述用户个人票据和所述jar包,拷贝到装有所述目标计算组件的客户端的服务器上;拼装执行命令,通过所述NiFi processor连接所述服务器,经执行所述执行命令以执行针对所述jar包的大数据计算任务。
进一步地,所述执行针对所述jar包的大数据计算任务,包括:判断所述大数据计算任务是否正常提交到所述当前Yarn队列,若是,记录所述大数据计算任务在所述当前Yarn队列中的applicationId(应用唯一标识),否则,执行报错并记录状态,停止所述NiFiprocessor,结束当前流程;
周期性监控所述applicationId的运行状态;
在监控到强制结束命令时,通过执行kill命令以停止所述NiFi processor;
在监测到所述applicationId的运行状态为正常运行结束时,停止所述NiFiprocessor。
进一步地,所述目标计算组件为所述BigSql;
所述通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务,包括:通过所述NiFi processor调用BigSql,连接所述当前Yarn队列上运行的Spark ThriftServer,执行加载的SQL(Structured Query Language,结构化查询语言),以执行针对所述jar包的大数据计算任务。
进一步地,所述大数据计算任务的数据源包括Oracle、Mysql、Hive、Hbase、HDFS(Hadoop Distributed File System,Hadoop分布式文件系统)中的任意一种。
另一方面,本发明提供了一种基于NiFi的大数据计算装置,包括:
确定单元,用于确定至少一个Yarn队列,每一个所述Yarn队列上均运行有Spark、MapReduce、BigSql中的任意一种计算组件;
处理单元,用于针对每一个所述Yarn队列均执行:开发针对当前Yarn队列的NiFiprocessor;接收外部上传的用户个人票据和所述当前Yarn队列上运行的目标计算组件可执行的jar包;根据所述用户个人票据,判断持有所述用户个人票据的用户是否被赋予可执行所述当前Yarn队列的权限,若是,在监测到满足所述当前Yarn队列的预设运行条件时,通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务。
进一步地,所述目标计算组件为所述Spark或所述MapReduce;
该装置进一步包括:设置单元,用于设置所述预设运行条件,其中,所述NiFiprocessor有上游连接时,所述预设运行条件包括所述NiFi processor的上游连接结束执行,以及,所述NiFi processor无上游连接时,所述预设运行条件包括达到设定的定时调度时间;
所述处理单元,用于将所述用户个人票据和所述jar包,拷贝到装有所述目标计算组件的客户端的服务器上;拼装执行命令,通过所述NiFi processor连接所述服务器,经执行所述执行命令以执行针对所述jar包的大数据计算任务。
进一步地,所述处理单元,用于判断所述大数据计算任务是否正常提交到所述当前Yarn队列,若是,记录所述大数据计算任务在所述当前Yarn队列中的applicationId,否则,执行报错并记录状态,停止所述NiFi processor,结束当前流程;周期性监控所述applicationId的运行状态;在监控到强制结束命令时,通过执行kill命令以停止所述NiFiprocessor;在监测到所述applicationId的运行状态为正常运行结束时,停止所述NiFiprocessor。
进一步地,所述目标计算组件为所述BigSql;
所述处理单元,用于通过所述NiFi processor调用BigSql,连接所述当前Yarn队列上运行的Spark ThriftServer,执行加载的SQL,以执行针对所述jar包的大数据计算任务。
进一步地,所述大数据计算任务的数据源包括Oracle、Mysql、Hive、Hbase、HDFS中的任意一种。
本发明提供了一种基于NiFi的大数据计算方法及装置,该方法包括:确定若干Yarn队列,各Yarn队列上均运行有Spark、MapReduce、BigSql中的任一计算组件;针对各Yarn队列:开发针对当前Yarn队列的NiFi processor;接收外部上传的用户个人票据和当前Yarn队列上运行的目标计算组件可执行的jar包;根据用户个人票据判断该用户是否被赋予可执行当前Yarn队列的权限,若是,在监测到满足当前Yarn队列的预设运行条件时,通过NiFi processor调用目标计算组件,执行针对jar包的大数据计算任务。因此,本发明能够同时支持数据传输及数据计算的需求。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种基于NiFi的大数据计算方法的流程图;
图2是本发明一实施例提供的一种基于NiFi的大数据计算装置的示意图;
图3是本发明一实施例提供的另一种基于NiFi的大数据计算装置的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于NiFi的大数据计算方法,可以包括以下步骤:
步骤101:确定至少一个Yarn队列,每一个所述Yarn队列上均运行有Spark、MapReduce、BigSql中的任意一种计算组件。
步骤102:针对每一个所述Yarn队列均执行:开发针对当前Yarn队列的NiFiprocessor。
步骤103:接收外部上传的用户个人票据和所述当前Yarn队列上运行的目标计算组件可执行的jar包。
步骤104:根据所述用户个人票据,判断持有所述用户个人票据的用户是否被赋予可执行所述当前Yarn队列的权限,若是,在监测到满足所述当前Yarn队列的预设运行条件时,通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务,否则,结束当前流程。
本发明实施例提供了一种基于NiFi的大数据计算方法,包括:确定若干Yarn队列,各Yarn队列上均运行有Spark、MapReduce、BigSql中的任一计算组件;针对各Yarn队列:开发针对当前Yarn队列的NiFi processor;接收外部上传的用户个人票据和当前Yarn队列上运行的目标计算组件可执行的jar包;根据用户个人票据判断该用户是否被赋予可执行当前Yarn队列的权限,若是,在监测到满足当前Yarn队列的预设运行条件时,通过NiFiprocessor调用目标计算组件,执行针对jar包的大数据计算任务。因此,本发明实施例能够同时支持数据传输及数据计算的需求。
详细地,本发明实施例提供的基于NiFi的大数据计算方法可面向软件开发人员,涉及了大数据计算任务的相关组件开发,如Spark、MapReduce、BigSql等计算组件,同时也涉及了权限控制的Ranger组件及运行任务的队列Yarn组件。
在本发明一个实施例中,Spark、MapReduce和Yarn都是大数据组件中的一员,可通过Ambari简单快速的部署,并开发一个新的NiFi processor来组装命令对这些组件进行调用。
本发明实施例中,Yarn队列上运行的计算组件的类别不同时,大数据计算方法略有不同,故可通过下述两种情况分别进行描述说明:
第一种情况:Yarn队列上运行的计算组件为Spark或MapReduce;
第二种情况:Yarn队列上运行的计算组件为BigSql。
详细地,针对上述第一种情况:
详细地,Spark与MapReduce都是跑在Yarn队列上的,需要给用户授予队列权限,同时用户需要上传可运行的Spark或者MapReduce的Jar包。
配置时,可调用仓库平台的API来获取相关的集群信息、有权队列及Jar包列表。当该processor无上游连接时,可设置定时调度,而当有上游连接时,即可通过上游连接来触发该processor的启动运行。
触发执行时,可将用户个人票据及运行的Jar包拷贝到装有Spark或MapReduce客户端的服务器。然后拼装执行命令,连接服务器并执行。
举例来说,可从SFTP(Secure File Transfer Protocol,安全文件传送协议)抽取文件写入HDFS,若写入成功,即可触发执行Spark或者MapReduce的处理器运行,来统计上传到HDFS的文件的词频。
如此,在本发明一个实施例中,所述目标计算组件为所述Spark或所述MapReduce;
该方法进一步包括:设置所述预设运行条件,其中,所述NiFi processor有上游连接时,所述预设运行条件包括所述NiFi processor的上游连接结束执行,以及,所述NiFiprocessor无上游连接时,所述预设运行条件包括达到设定的定时调度时间;
所述通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务,包括:将所述用户个人票据和所述jar包,拷贝到装有所述目标计算组件的客户端的服务器上;拼装执行命令,通过所述NiFi processor连接所述服务器,经执行所述执行命令以执行针对所述jar包的大数据计算任务。
基于上述内容,若提交正常,即任务正常提交到Yarn队列,程序可记录该任务在yarn队列中的applicationId,并设置每隔一段时间监控此Id的状态。若正常运行结束,停止此processor即可。若要强制结束,程序可连接yarn客户端执行kill命令。若提交到yarn队列之前出错,还可报错并记录状态,停止此processor即可。
如此,在本发明一个实施例中,所述执行针对所述jar包的大数据计算任务,包括:判断所述大数据计算任务是否正常提交到所述当前Yarn队列,若是,记录所述大数据计算任务在所述当前Yarn队列中的applicationId,周期性监控所述applicationId的运行状态,在监控到强制结束命令时,通过执行kill命令以停止所述NiFi processor,在监测到所述applicationId的运行状态为正常运行结束时,停止所述NiFi processor,否则,执行报错并记录状态,停止所述NiFi processor,结束当前流程。
详细地,针对上述第二种情况:
详细地,Spark ThriftServer是运行在Yarn队列上的一个长连接服务,执行BigSQL时会提交到该服务上。
配置时,数据源可选择Oracle、Mysql、Hive、Hbase、HDFS,其中Hive、Hbase、HDFS需要给用户赋予权限,按照配置要求配置,填写执行SQL。
触发执行时,获取用户个人票据并上传到NiFi节点的服务器中,验证是否登录成功,若登录成功,则连接thriftServer,加载SQL并在Hive中创建临时表,并执行SQL。然后,获取结果并批量以JSON数组格式输出。比如,可计算hive表数据并写入mysql中。
如此,在本发明一个实施例中,所述目标计算组件为所述BigSql;
所述通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务,包括:通过所述NiFi processor调用BigSql,连接所述当前Yarn队列上运行的Spark ThriftServer,执行加载的SQL,以执行针对所述jar包的大数据计算任务。
如此,在本发明一个实施例中,所述大数据计算任务的数据源包括Oracle、Mysql、Hive、Hbase、HDFS中的任意一种。
综上所述,本发明实施例中,用户上传可执行的程序包,并且该用户通常应被赋予可执行的Yarn队列权限;通过NiFi调用MapReduce、Spark计算任务来执行程序包,通过BigSql来执行大数据的计算任务;可由NiFi负责整个计算任务的触发启动、停止、调度及监控。
本发明实施例提供的基于NiFi的大数据计算方法,涉及了大数据组件的Spark、MapReduce、BigSQL的使用,并结合了NiFi自身的数据采集、传输、存储与大数据集群的计算方法,使得该组件与大数据集群连接更紧密。如此,这一方法配置简单、开发成本低、具有广泛的应用场景,且软件开发人员可根据业务需要更方便快捷的统计数据以获得有效的信息。
本发明实施例提出的基于NiFi的大数据计算方法,可根据业务出现的实时计算等需求,同时支持数据传输及数据计算两种需求,故可从庞大数据中通过筛选来进行统计、计算来获取相应的数据,从而从大数据中提取出对自己有用的用户需求信息。这一实现方法配置简单、运行稳定、操作难度低,可满足大部分的客户需求。
如图2所示,本发明实施例提供了一种基于NiFi的大数据计算装置,包括:
确定单元201,用于确定至少一个Yarn队列,每一个所述Yarn队列上均运行有Spark、MapReduce、BigSql中的任意一种计算组件;
处理单元202,用于针对每一个所述Yarn队列均执行:开发针对当前Yarn队列的NiFi processor;接收外部上传的用户个人票据和所述当前Yarn队列上运行的目标计算组件可执行的jar包;根据所述用户个人票据,判断持有所述用户个人票据的用户是否被赋予可执行所述当前Yarn队列的权限,若是,在监测到满足所述当前Yarn队列的预设运行条件时,通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务。
在本发明一个实施例中,所述目标计算组件为所述Spark或所述MapReduce;
请参考图3,该基于NiFi的大数据计算装置还可以包括:设置单元301,用于设置所述预设运行条件,其中,所述NiFi processor有上游连接时,所述预设运行条件包括所述NiFi processor的上游连接结束执行,以及,所述NiFi processor无上游连接时,所述预设运行条件包括达到设定的定时调度时间;
所述处理单元202,用于将所述用户个人票据和所述jar包,拷贝到装有所述目标计算组件的客户端的服务器上;拼装执行命令,通过所述NiFi processor连接所述服务器,经执行所述执行命令以执行针对所述jar包的大数据计算任务。
在本发明一个实施例中,所述处理单元202,用于判断所述大数据计算任务是否正常提交到所述当前Yarn队列,若是,记录所述大数据计算任务在所述当前Yarn队列中的applicationId,否则,执行报错并记录状态,停止所述NiFi processor,结束当前流程;周期性监控所述applicationId的运行状态;在监控到强制结束命令时,通过执行kill命令以停止所述NiFi processor;在监测到所述applicationId的运行状态为正常运行结束时,停止所述NiFi processor。
在本发明一个实施例中,所述目标计算组件为所述BigSql;
所述处理单元202,用于通过所述NiFi processor调用BigSql,连接所述当前Yarn队列上运行的Spark ThriftServer,执行加载的SQL,以执行针对所述jar包的大数据计算任务。
在本发明一个实施例中,所述大数据计算任务的数据源包括Oracle、Mysql、Hive、Hbase、HDFS中的任意一种。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
此外,本发明一个实施例提供了一种可读介质,包括执行指令,当存储控制器的处理器执行所述执行指令时,所述存储控制器执行上述任一所述的基于NiFi的大数据计算方法。
此外,本发明一个实施例提供了一种存储控制器,包括:处理器、存储器和总线;
所述存储器用于存储执行指令,所述处理器与所述存储器通过所述总线连接,当所述存储控制器运行时,所述处理器执行所述存储器存储的所述执行指令,以使所述存储控制器执行上述任一所述的基于NiFi的大数据计算方法。
综上所述,本发明的实施例具有至少如下有益效果:
1、本发明实施例中,基于NiFi的大数据计算方法包括:确定若干Yarn队列,各Yarn队列上均运行有Spark、MapReduce、BigSql中的任一计算组件;针对各Yarn队列:开发针对当前Yarn队列的NiFi processor;接收外部上传的用户个人票据和当前Yarn队列上运行的目标计算组件可执行的jar包;根据用户个人票据判断该用户是否被赋予可执行当前Yarn队列的权限,若是,在监测到满足当前Yarn队列的预设运行条件时,通过NiFi processor调用目标计算组件,执行针对jar包的大数据计算任务。因此,本发明实施例能够同时支持数据传输及数据计算的需求。
2、本发明实施例中,基于NiFi的大数据计算方法涉及了大数据组件的Spark、MapReduce、BigSQL的使用,并结合了NiFi自身的数据采集、传输、存储与大数据集群的计算方法,使得该组件与大数据集群连接更紧密。如此,这一方法配置简单、开发成本低、具有广泛的应用场景,且软件开发人员可根据业务需要更方便快捷的统计数据以获得有效的信息。
3、本发明实施例提出的基于NiFi的大数据计算方法,可根据业务出现的实时计算等需求,同时支持数据传输及数据计算两种需求,故可从庞大数据中通过筛选来进行统计、计算来获取相应的数据,从而从大数据中提取出对自己有用的用户需求信息。这一实现方法配置简单、运行稳定、操作难度低,可满足大部分的客户需求。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个······”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
本领域普通技术人员可以理解:实现上述方法实施例的全部或部分步骤可以通过程序指令相关的硬件来完成,前述的程序可以存储在计算机可读取的存储介质中,该程序在执行时,执行包括上述方法实施例的步骤;而前述的存储介质包括:ROM、RAM、磁碟或者光盘等各种可以存储程序代码的介质中。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (10)
1.一种基于NiFi的大数据计算方法,其特征在于,包括:
确定至少一个Yarn队列,每一个所述Yarn队列上均运行有Spark、MapReduce、BigSql中的任意一种计算组件;
针对每一个所述Yarn队列均执行:开发针对当前Yarn队列的NiFi processor;
接收外部上传的用户个人票据和所述当前Yarn队列上运行的目标计算组件可执行的Java归档文件jar包;
根据所述用户个人票据,判断持有所述用户个人票据的用户是否被赋予可执行所述当前Yarn队列的权限,若是,
如果当前Yarn队列上运行的计算组件为Spark或MapReduce,在监测到满足所述当前Yarn队列的预设运行条件时,通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务;
如果当前Yarn队列上运行的计算组件为BigSql时,通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务。
2.根据权利要求1所述的方法,其特征在于,
所述目标计算组件为所述Spark或所述MapReduce;
进一步包括:设置所述预设运行条件,其中,所述NiFi processor有上游连接时,所述预设运行条件包括所述NiFi processor的上游连接结束执行,以及,所述NiFi processor无上游连接时,所述预设运行条件包括达到设定的定时调度时间;
所述通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务,包括:将所述用户个人票据和所述jar包,拷贝到装有所述目标计算组件的客户端的服务器上;拼装执行命令,通过所述NiFi processor连接所述服务器,经执行所述执行命令以执行针对所述jar包的大数据计算任务。
3.根据权利要求2所述的方法,其特征在于,
所述执行针对所述jar包的大数据计算任务,包括:判断所述大数据计算任务是否正常提交到所述当前Yarn队列,若是,记录所述大数据计算任务在所述当前Yarn队列中的应用唯一标识applicationId,否则,执行报错并记录状态,停止所述NiFi processor,结束当前流程;
周期性监控所述applicationId的运行状态;
在监控到强制结束命令时,通过执行kill命令以停止所述NiFi processor;
在监测到所述applicationId的运行状态为正常运行结束时,停止所述NiFiprocessor。
4.根据权利要求1所述的方法,其特征在于,
所述目标计算组件为所述BigSql;
所述通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务,包括:通过所述NiFi processor调用BigSql,连接所述当前Yarn队列上运行的Spark ThriftServer,执行加载的结构化查询语言SQL,以执行针对所述jar包的大数据计算任务。
5.根据权利要求4所述的方法,其特征在于,
所述大数据计算任务的数据源包括Oracle、Mysql、Hive、Hbase、Hadoop分布式文件系统HDFS中的任意一种。
6.一种基于NiFi的大数据计算装置,其特征在于,包括:
确定单元,用于确定至少一个Yarn队列,每一个所述Yarn队列上均运行有Spark、MapReduce、BigSql中的任意一种计算组件;
处理单元,用于针对每一个所述Yarn队列均执行:开发针对当前Yarn队列的NiFiprocessor;接收外部上传的用户个人票据和所述当前Yarn队列上运行的目标计算组件可执行的Java归档文件jar包;根据所述用户个人票据,判断持有所述用户个人票据的用户是否被赋予可执行所述当前Yarn队列的权限,若是,如果当前Yarn队列上运行的计算组件为Spark或MapReduce,在监测到满足所述当前Yarn队列的预设运行条件时,通过所述NiFiprocessor调用所述目标计算组件,执行针对所述jar包的大数据计算任务;如果当前Yarn队列上运行的计算组件为BigSql,通过所述NiFi processor调用所述目标计算组件,执行针对所述jar包的大数据计算任务。
7.根据权利要求6所述的基于NiFi的大数据计算装置,其特征在于,
所述目标计算组件为所述Spark或所述MapReduce;
进一步包括:设置单元,用于设置所述预设运行条件,其中,所述NiFi processor有上游连接时,所述预设运行条件包括所述NiFi processor的上游连接结束执行,以及,所述NiFi processor无上游连接时,所述预设运行条件包括达到设定的定时调度时间;
所述处理单元,用于将所述用户个人票据和所述jar包,拷贝到装有所述目标计算组件的客户端的服务器上;拼装执行命令,通过所述NiFi processor连接所述服务器,经执行所述执行命令以执行针对所述jar包的大数据计算任务。
8.根据权利要求7所述的基于NiFi的大数据计算装置,其特征在于,
所述处理单元,用于判断所述大数据计算任务是否正常提交到所述当前Yarn队列,若是,记录所述大数据计算任务在所述当前Yarn队列中的应用唯一标识applicationId,否则,执行报错并记录状态,停止所述NiFi processor,结束当前流程;周期性监控所述applicationId的运行状态;在监控到强制结束命令时,通过执行kill命令以停止所述NiFiprocessor;在监测到所述applicationId的运行状态为正常运行结束时,停止所述NiFiprocessor。
9.根据权利要求6所述的基于NiFi的大数据计算装置,其特征在于,
所述目标计算组件为所述BigSql;
所述处理单元,用于通过所述NiFi processor调用BigSql,连接所述当前Yarn队列上运行的Spark ThriftServer,执行加载的结构化查询语言SQL,以执行针对所述jar包的大数据计算任务。
10.根据权利要求9所述的基于NiFi的大数据计算装置,其特征在于,
所述大数据计算任务的数据源包括Oracle、Mysql、Hive、Hbase、Hadoop分布式文件系统HDFS中的任意一种。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811092712.5A CN109344189B (zh) | 2018-09-19 | 2018-09-19 | 一种基于NiFi的大数据计算方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811092712.5A CN109344189B (zh) | 2018-09-19 | 2018-09-19 | 一种基于NiFi的大数据计算方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109344189A CN109344189A (zh) | 2019-02-15 |
CN109344189B true CN109344189B (zh) | 2021-05-14 |
Family
ID=65306119
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811092712.5A Active CN109344189B (zh) | 2018-09-19 | 2018-09-19 | 一种基于NiFi的大数据计算方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109344189B (zh) |
Families Citing this family (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110069335A (zh) * | 2019-05-07 | 2019-07-30 | 江苏满运软件科技有限公司 | 任务处理系统、方法、计算机设备和存储介质 |
CN110096415A (zh) * | 2019-05-15 | 2019-08-06 | 北京首汽智行科技有限公司 | 一种基于拓扑关系的数据监测方法 |
CN110377582B8 (zh) * | 2019-05-30 | 2022-08-26 | 安徽四创电子股份有限公司 | 一种ftp数据库与hdfs数据库自动互传数据的方法 |
CN110673891B (zh) * | 2019-09-12 | 2022-08-02 | 济南浪潮数据技术有限公司 | 一种数据处理方法、装置、设备及介质 |
CN113656468B (zh) * | 2020-05-12 | 2024-02-27 | 北京市天元网络技术股份有限公司 | 基于nifi的任务流程触发方法及装置 |
CN112380218B (zh) * | 2020-11-18 | 2023-03-28 | 浪潮通信信息系统有限公司 | 一种基于etl进行数据仓库各层数据表汇总的自动触发方法 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7782782B1 (en) * | 2002-04-12 | 2010-08-24 | Juniper Networks, Inc. | Packet spraying for load balancing across multiple packet processors |
CN108154341A (zh) * | 2017-12-18 | 2018-06-12 | 千寻位置网络有限公司 | 基于数据流和工作流的统一调度平台及工作方法 |
CN108494582A (zh) * | 2018-02-13 | 2018-09-04 | 国网浙江省电力有限公司信息通信分公司 | 一种低耦合自动化运维系统及方法 |
Family Cites Families (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10541930B2 (en) * | 2015-08-28 | 2020-01-21 | Softnas Operating Inc. | Automated data flows using flow-based data processor blocks |
-
2018
- 2018-09-19 CN CN201811092712.5A patent/CN109344189B/zh active Active
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7782782B1 (en) * | 2002-04-12 | 2010-08-24 | Juniper Networks, Inc. | Packet spraying for load balancing across multiple packet processors |
CN108154341A (zh) * | 2017-12-18 | 2018-06-12 | 千寻位置网络有限公司 | 基于数据流和工作流的统一调度平台及工作方法 |
CN108494582A (zh) * | 2018-02-13 | 2018-09-04 | 国网浙江省电力有限公司信息通信分公司 | 一种低耦合自动化运维系统及方法 |
Non-Patent Citations (2)
Title |
---|
SCAPE: An Application Platform for Environmental Big Data Analysis in Smart Cities;Fan R, Wu G.;《2016 International Conference on Modeling, Simulation and Optimization Technologies and Applications 》;20161231;全文 * |
云环境下的新型大数据处理平台研究;张超;《中国优秀硕士学位论文全文数据库信息科技辑》;20170515;全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109344189A (zh) | 2019-02-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109344189B (zh) | 一种基于NiFi的大数据计算方法及装置 | |
US11397709B2 (en) | Automated configuration of log-coordinated storage groups | |
US11422853B2 (en) | Dynamic tree determination for data processing | |
US11314574B2 (en) | Techniques for managing and analyzing log data | |
US11860900B2 (en) | Log-based distributed transaction management | |
US10216584B2 (en) | Recovery log analytics with a big data management platform | |
US10296606B2 (en) | Stateless datastore—independent transactions | |
US10754761B2 (en) | Systems and methods for testing source code | |
US9996593B1 (en) | Parallel processing framework | |
US9323569B2 (en) | Scalable log-based transaction management | |
US20160086260A1 (en) | Lifecycle transitions in log-coordinated data stores | |
US10303795B2 (en) | Read descriptors at heterogeneous storage systems | |
US7503052B2 (en) | Asynchronous database API | |
US9576000B2 (en) | Adaptive fragment assignment for processing file data in a database | |
US20150154233A1 (en) | Dependency manager for databases | |
US9659108B2 (en) | Pluggable architecture for embedding analytics in clustered in-memory databases | |
WO2016044763A1 (en) | Automated configuration of log-coordinated storage groups | |
US10983873B1 (en) | Prioritizing electronic backup | |
CN106469087A (zh) | 元数据输出方法、客户端和元数据服务器 | |
JP2017134838A (ja) | コンテンツサービスで個人化された通知を提供する方法およびシステム | |
US11803429B2 (en) | Managing alert messages for applications and access permissions | |
US9330276B2 (en) | Conditional role activation in a database | |
WO2023185309A1 (zh) | 数据同步方法和系统、计算机可读存储介质 | |
CN115373886A (zh) | 服务群组容器停机方法、装置、计算机设备和存储介质 | |
CN113421109A (zh) | 一种业务核对方法、装置、电子设备和存储介质 |
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 | ||
TA01 | Transfer of patent application right | ||
TA01 | Transfer of patent application right |
Effective date of registration: 20210426 Address after: 250100 Ji'nan high tech Zone, Shandong, No. 1036 wave road Applicant after: INSPUR SOFTWARE Co.,Ltd. Address before: 250100 Ji'nan science and Technology Development Zone, Shandong Branch Road No. 2877 Applicant before: INSPUR GROUP Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |