CN109753502B - 一种基于NiFi的数据采集方法 - Google Patents
一种基于NiFi的数据采集方法 Download PDFInfo
- Publication number
- CN109753502B CN109753502B CN201811639608.3A CN201811639608A CN109753502B CN 109753502 B CN109753502 B CN 109753502B CN 201811639608 A CN201811639608 A CN 201811639608A CN 109753502 B CN109753502 B CN 109753502B
- Authority
- CN
- China
- Prior art keywords
- data
- matching
- cleaning
- nifi
- conversion
- 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
Images
Classifications
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Computer And Data Communications (AREA)
- Information Retrieval, Db Structures And Fs Structures Therefor (AREA)
Abstract
本发明提供一种基于NiFi的数据采集方法,属于数据采集技术领域,大数据量的数据抽取,并在抽取过程中对数据进行清洗、转换和匹配。运用NiFi工具,能简化用户操作,实现一整套流程,展现形式图形化,操作简单高效,运用HTTP协议。如果不需要用户直接对流程进行操作,还可以进行二次封装,向NiFi提供相应的报文信息,就可以创建组件,简化用户操作。
Description
技术领域
本发明涉及数据采集技术,尤其涉及一种基于NiFi的数据采集方法。
背景技术
在税务行业,随着“金税工程”的不断深入,税务数据资源的种类不断丰富,数据量快速增长,特别是近年来飞速增长的电子票据、视频、网页等非结构化数据,已经超出了目前的处理能力。如何采集、存储和利用庞大的涉税数据,进而从海量的数据中挖掘有价值的信息,已然成为税收信息化面临的一个重大课题。从结构化数据转向大数据是下一步发展的必然选择。
任何一个大数据应用分析的软件,都需要一个强大的数据抽取组件、数据存储仓库、数据处理引擎、任务调度引擎和流程设计界面。Hadoop和Spark的重点是在数据的存储和任务调度,R的重点是数据分析引擎。
传统的数据抽取工具ETL,例如Kettle,用于将静态数据从一个源加载到另一个源。NiFi肯定能够完成类似的任务,但它的主要重点是处理真正快速的实时事件流。NiFi可以作为一个非常小的单实例JVM运行,适合作为端点的数据收集代理,也可以通过集群扩展来处理来自许多端点的大量数据。一旦集群启动并运行,就可以动态地进行更改,而无需重新部署或甚至对数据流造成大量中断。例如,字段中的端点以JSON格式发送事件,但是数据中心的应用程序需要一个JSON对象,该对象具有比以前更多的字段,现在正在侦听不同数据中心中的不同IP和端口。NiFi可以在现场捕获事件,然后将事件转换并以所需格式指向正确的侦听器,而无需对数据流进行编码,重新部署甚至大部分中断。最好的部分是跟踪整个流程,并且对事件的每个修改或操作都是可见的和可搜索的。这样可以轻松解决传输过程中出现的任何问题。
NiFi是一个开源项目,虽说有以上的有点,但是其本身的功能并不能实现税务大数据方向的需求。例如利用NiFi本身的数据抽取组件,不能增量同步oracle数据库数据,亦不能从文件中读取并插入到数据库。
发明内容
根据以上背景技术的内容,本发明提出了一种基于NiFi的数据采集方法,开发了一套新的数据抽取流程,根据oracle的增量日志文件,实现数据拉取。
本发明要解决的问题是,大数据量的数据抽取,并在抽取过程中对数据进行清洗、转换和匹配。运用NiFi工具,能简化用户操作,实现一整套流程,展现形式图形化,操作简单高效,这种技术是B-S架构,运用HTTP协议。如果不需要用户直接对流程进行操作,还可以进行二次封装,向NiFi提供相应的报文信息,就可以创建组件,简化用户操作。
本发明的技术方案是:
一种基于NiFi的数据采集方法,主要分为5个步骤:
步骤一:分为抽取数据库数据和读取文件数据,
前一种读取oracle联机日志和归档日志增量抽取数据,根据oracle日志分析出所有的DML事件,按照顺序组装数据,拉取数据是使用批量的方式;
后一种是读取文件,根据解析规则解析出数据,这里的拉取数据每批次固定数据量大小;
步骤二:将组装的数据根据业务需求进行清洗,
对于符合清洗规则的数据,允许数据流的向下流通,对于不符合清洗规则的数据会生成日志文件,具体的清洗规则根据业务需求所定,这几个规则可自由组合。
步骤三:对数据根据转换规则进行转换,如大小写转换、文本替换、删除空格、值格式转换、字符截取。
对于每一步的转换都有日志文件可查询转换情况。
步骤四:对数据进行匹配。匹配是指与另一张数据表根据匹配规则进行匹配,符合匹配要求的进行后续操作,如增加字段等等,对于不匹配的则不进行操作。
步骤五:数据入库操作,附带去重功能,支持oracle、mysql等多种数据库。
所述抽取oracle数据,此流程可以根据oracle日志分析出所有的DML事件,将按照顺序组装数据,中间进行一系列的数据清洗、转换和匹配,然后同步到目标数据库。
其中数据抽取步骤一和入库操作步骤五是必需的,中间的步骤二到步骤四根据业务需求自由组合,完成数据的清洗和加工。
对于非结构化数据,例如文件数据,还设计了文件的解析、数据清洗、数据转换和匹配。
附文件解析后经过清洗加工后入库的流程,实施步骤与上面的流程实施类似,DataStorageFromFile这个Processor支持解析excel文件,csv文件,xml文件以及文本内容格式为JSON格式的文件。
对于这个整体流程,除了通过直接拖拽的形式,我们也可以选择调用NiFi的接口,运用HTTP协议,传送合适的报文数据,后台会根据报文数据数据创建相应的Processor及其它组件,形成一个完成的流程。这时打开浏览器界面输入相应地址访问,就可看到已创建好的流程。
本发明的有益效果是
(1)对于开发者开发成本低,后期的可拓展性强;
(2)开发者能根据业务需要,可以在数据抽取的过程中进行数据的清洗和转化,例如,过滤到空字符,文本替换等等;
(3)流程清洗,便于监控;
(4)数据传输速度快,既可全量抽取,也可增量抽取。
附图说明
图1是本发明的工作流程示意图;
图2是将组装的数据根据业务需求进行清洗的示意图;
图3是对数据根据转换规则进行转换的示意图。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明的技术特点:
(1)之前的技术JDBC连接,数据传输速度相对较慢;NiFi引入数据流传输平台,速度快;
(2)大大较少编程量,具有很多内置模块,用户也可自定义模块对数据进行处理;
(3)增量同步oracle数据;
(4)支持抽取多种类型的文件;
(5)数据抽取过程中对数据进行清洗、加工。
如附图1,整个实施流程归结起来为以上五步,下面分别就每个步骤进行说明。
步骤一:分为抽取数据库数据和读取文件数据,前一种比如读取oracle联机日志和归档日志增量抽取数据,根据oracle日志分析出所有的DML事件,将按照顺序组装数据,为了提高效率,拉取数据是使用批量的方式。后一种是读取文件,根据解析规则解析出数据,这里的拉取数据每批次固定数据量大小。
步骤二:将组装的数据根据业务需求进行清洗,如空值过滤,值域检测,正则表达式匹配。
如附图2所示,对于符合清洗规则的数据,允许数据流的向下流通,对于不符合清洗规则的数据会生成日志文件,具体的清洗规则根据业务需求所定,这几个规则可自由组合。
步骤三:对数据根据转换规则进行转换,如大小写转换、文本替换、删除空格、值格式转换、字符截取。
如附图3所示,对于每一步的转换都有日志文件可查询转换情况。
步骤四:对数据进行匹配。匹配是指与另一张数据表根据匹配规则进行匹配,符合匹配要求的进行后续操作,如增加字段等等,对于不匹配的则不进行操作。
步骤五:数据入库操作,附带去重功能,支持oracle、mysql等多种数据库。
最终的效果流程图如附图1所示,首先获取数据来源,中间进行一系列的数据清洗、转换和匹配,然后同步到目标数据库。其中数据抽取步骤一和入库操作步骤五是必需的,中间的步骤二到步骤四根据业务需求自由组合,完成数据的清洗和加工。
对于非结构化数据,例如文件数据,设计了文件的解析、数据清洗、数据转换和匹配。
对于这个整体流程,除了通过直接拖拽的形式,我们也可以选择调用NiFi的接口,运用HTTP协议,传送合适的报文数据,后台会根据报文数据数据创建相应的Processor及其它组件,形成一个完成的流程。这时我们打开浏览器界面输入相应地址访问,就可看到已创建好的流程。
以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。
Claims (5)
1.一种基于NiFi的数据采集方法,其特征在于,
主要分为5个步骤:
步骤一:分为抽取数据库数据和读取文件数据;
步骤二:将组装的数据根据业务需求进行清洗;
步骤三:对数据根据转换规则进行转换,对于每一步的转换都有日志文件可查询转换情况;
步骤四:对数据进行匹配;
步骤五:数据入库操作,附带去重功能,支持oracle、mysql数据库;
所述抽取数据库数据和读取文件数据,
前一种读取oracle联机日志和归档日志增量抽取数据,根据oracle日志分析出所有的DML事件,按照顺序组装数据,拉取数据是使用批量的方式;
后一种是读取文件,根据解析规则解析出数据,这里的拉取数据每批次固定数据量大小;
步骤2中,对于符合清洗规则的数据,允许数据流的向下流通,对于不符合清洗规则的数据会生成日志文件,具体的清洗规则根据业务需求所定,清洗规则可自由组合;
所述对数据进行匹配,匹配是指与另一张数据表根据匹配规则进行匹配,符合匹配要求的进行后续操作,对于不匹配的则不进行操作。
2.根据权利要求1所述的方法,其特征在于,
首先获取数据来源,中间进行一系列的数据清洗、转换和匹配,然后同步到目标数据库。
3.根据权利要求2所述的方法,其特征在于,
其中数据抽取步骤一和入库操作步骤五是必需的,中间的步骤二到步骤四根据业务需求自由组合,完成数据的清洗和加工。
4.根据权利要求3所述的方法,其特征在于,
对于非结构化数据,设计文件的解析、数据清洗、数据转换和匹配。
5.根据权利要求4所述的方法,其特征在于,
对于这个整体流程,可以通过直接拖拽的形式,或选择调用NiFi的接口,运用HTTP协议,传送合适的报文数据,后台会根据报文数据数据创建相应的Processor及其它组件,形成一个完成的流程;这时打开浏览器界面输入相应地址访问,就可看到已创建好的流程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811639608.3A CN109753502B (zh) | 2018-12-29 | 2018-12-29 | 一种基于NiFi的数据采集方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201811639608.3A CN109753502B (zh) | 2018-12-29 | 2018-12-29 | 一种基于NiFi的数据采集方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN109753502A CN109753502A (zh) | 2019-05-14 |
CN109753502B true CN109753502B (zh) | 2023-05-12 |
Family
ID=66404393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201811639608.3A Active CN109753502B (zh) | 2018-12-29 | 2018-12-29 | 一种基于NiFi的数据采集方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN109753502B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110569174B (zh) * | 2019-09-17 | 2023-05-12 | 浪潮软件科技有限公司 | 一种用于nifi任务的分布式监控系统及方法 |
CN110674080B (zh) * | 2019-09-23 | 2023-04-28 | 浪潮软件股份有限公司 | 一种基于NiFi的大数据量非结构文件采集方法及系统 |
CN110660461B (zh) * | 2019-09-23 | 2023-03-24 | 广州市番禺区中心医院(广州市番禺区人民医院、广州市番禺区心血管疾病研究所) | 一种基于人工智能的跨平台医疗数据信息上传系统 |
CN112783953A (zh) * | 2019-11-06 | 2021-05-11 | 广州凡科互联网科技股份有限公司 | 一种数据采集方法 |
CN111258997B (zh) * | 2020-01-16 | 2023-11-03 | 浪潮软件股份有限公司 | 基于NiFi的数据处理方法和装置 |
CN112632123B (zh) * | 2020-12-18 | 2021-08-17 | 甘肃恒石公路检测科技有限公司 | 一种基于nifi技术实现公路技术状况评定系统数据智能化入库的方法 |
CN112835969A (zh) * | 2021-02-09 | 2021-05-25 | 浪潮云信息技术股份公司 | 一种对etl流转数据进行统计分析的方法 |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2998634A1 (en) * | 2005-11-12 | 2007-05-24 | Logrhythm, Inc. | Log collection, structuring and processing |
CN102495885A (zh) * | 2011-12-08 | 2012-06-13 | 中国信息安全测评中心 | 一种基于库联网引擎的信息安全数据整合方法 |
CN103731298A (zh) * | 2013-11-15 | 2014-04-16 | 中国航天科工集团第二研究院七〇六所 | 一种大规模分布式网络安全数据采集方法与系统 |
CN105069142A (zh) * | 2015-08-18 | 2015-11-18 | 山大地纬软件股份有限公司 | 数据增量抽取转换与分发系统及方法 |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及系统 |
CN109074255A (zh) * | 2016-03-25 | 2018-12-21 | 摄取技术有限公司 | 用于提供资产事件和信号数据的可视化的计算机系统和方法 |
-
2018
- 2018-12-29 CN CN201811639608.3A patent/CN109753502B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CA2998634A1 (en) * | 2005-11-12 | 2007-05-24 | Logrhythm, Inc. | Log collection, structuring and processing |
CN102495885A (zh) * | 2011-12-08 | 2012-06-13 | 中国信息安全测评中心 | 一种基于库联网引擎的信息安全数据整合方法 |
CN103731298A (zh) * | 2013-11-15 | 2014-04-16 | 中国航天科工集团第二研究院七〇六所 | 一种大规模分布式网络安全数据采集方法与系统 |
CN105069142A (zh) * | 2015-08-18 | 2015-11-18 | 山大地纬软件股份有限公司 | 数据增量抽取转换与分发系统及方法 |
CN109074255A (zh) * | 2016-03-25 | 2018-12-21 | 摄取技术有限公司 | 用于提供资产事件和信号数据的可视化的计算机系统和方法 |
CN108846076A (zh) * | 2018-06-08 | 2018-11-20 | 山大地纬软件股份有限公司 | 支持接口适配的海量多源异构数据etl方法及系统 |
Non-Patent Citations (1)
Title |
---|
环境信息集成的研究与设计;任秀月;《海峡科学》;20080615(第06期);全文 * |
Also Published As
Publication number | Publication date |
---|---|
CN109753502A (zh) | 2019-05-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN109753502B (zh) | 一种基于NiFi的数据采集方法 | |
CN109684352B (zh) | 数据分析系统、方法、存储介质及电子设备 | |
Liang et al. | Express supervision system based on NodeJS and MongoDB | |
CN112347071B (zh) | 一种配电网云平台数据融合方法及配电网云平台 | |
CN104331435A (zh) | 一种基于Hadoop大数据平台的低影响高效率的海量数据抽取方法 | |
CN107766541B (zh) | 配用电全局全量数据传输及存储方法、装置、电子设备 | |
CN106844782B (zh) | 一种面向网络的多通道大数据采集系统及方法 | |
CN105447146A (zh) | 一种海量数据的收集与交换系统及方法 | |
CN105975495A (zh) | 大数据的存储、搜索方法及装置 | |
CN104536830A (zh) | 一种基于MapReduce的KNN文本分类方法 | |
Lin et al. | A hyperconnected manufacturing collaboration system using the semantic web and Hadoop Ecosystem System | |
CN114860780A (zh) | 一种数据仓库、数据处理系统及计算机装置 | |
CN111143468A (zh) | 基于mpp分布式技术的多数据库数据管理方法 | |
CN111125045B (zh) | 一种轻量级etl处理平台 | |
CN112650739A (zh) | 煤矿数据中台的数据存储处理方法和装置 | |
CN112269779A (zh) | 一种用于电力设备缺陷的大数据分析系统和方法 | |
CN112817930A (zh) | 一种数据迁移的方法和装置 | |
CN116595043A (zh) | 一种大数据检索方法及装置 | |
EP4105813A1 (en) | Method for analyzing data consisting of a large number of individual messages, computer program product and computer system | |
CN109522466B (zh) | 一种分布式爬虫系统 | |
CN110990745A (zh) | 一种自动同步同类公共云资源的方法 | |
CN111581254A (zh) | 基于互联网金融数据的etl方法及系统 | |
Fen et al. | Research on internet hot topic detection based on MapReduce architecture | |
CN116610531B (zh) | 基于代码探针采集数据埋点及请求图片上传数据的方法 | |
Hu et al. | Analysis of Hot News Based on Big Data |
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: 20230413 Address after: 250000 Langchao Science Park, No. 1036, Langchao Road, high tech Zone, Jinan, Shandong Applicant after: Inspur Software Technology Co.,Ltd. Address before: 250100 First Floor of R&D Building 2877 Kehang Road, Sun Village Town, Jinan High-tech Zone, Shandong Province Applicant before: SHANDONG INSPUR BUSINESS SYSTEM Co.,Ltd. |
|
GR01 | Patent grant | ||
GR01 | Patent grant |