NiFi知识精讲与项目实战(第一阶段)_大数据开发_技术课程_开发者学堂

阿里云
为了无法计算的价值
打开APP
阿里云APP内打开
开发者社区> 开发者学堂> 全部课程> NiFi知识精讲与项目实战(第一阶段)

NiFi知识精讲与项目实战(第一阶段)

19课时 |
87人已学 |
免费
课程介绍

NiFi是一个易于使用、功能强大而且可靠的数据拉取、数据处理和分发系统,用于自动化管理系统间的数据流。它支持高度可配置的指示图的数据路由、转换和系统中介逻辑,支持从多种数据源动态拉取数据。用户可以为数据处理定义为一个流程,然后进行处理,后台具有数据处理引擎、任务调度等组件。本课程从基础知识点到安装部署、集群配置和实战案例,通过知识点 + 案例教学法帮助您快速掌握Nifi的使用。

本课程分为三个阶段,本阶段主要讲解了NiFi的核心概念、架构、组件介绍、特性及性能、NiFi的安装、应用场景等。本课程由黑马程序员提供。

Nifi是什么

 

内容介绍

一、NIFI的概念

二、总结

 

本课题讲解内容是学习Nifi工具软件。在学习工具软件之前。都了解了Uzi、scoop等等,这些软件工具在做数据仓库、大数据系统时经常会使用。如果掌握了NIFI以后,这些工具可以不使用。目前NIFI在国内基本没有任何资料,整理这个课程是通过翻墙,在国外的网站上去进行NIFI的学习和知识的搜集。

本课程是国内第一个NIFI课程。目前国内的一些大公司都在使用NIFI,但是因为NIFI资源的问题,获取难度比较大,所以在小公司中掌握的比较少。学习NIFI之后,就可以将NIFI应用在实际工作过程中,提高工作效率,减少服务器以及工作流程不稳定性。

 

一、NIFI的概念

阿帕奇NIFI是一个容易使用,而且功能强大、稳定性很高的系统,主要用来处理和分发数据,可以自动化管理不同系统之间的数据流,而且拥有高度可配置的图形化管理界面,用来实现数据路由、数据转换以及系统中介,而且Nifi支持从多种不同的数据,来动态的抓取数据,这些数据源包含了MySql、oracle、SQL server等。NIFI本来是nsa的项目,目前已经代码开元,属于阿帕奇基金会的顶级项目之一。

NIFI是基于Java开发的,所以对于Java开发人员来说比较友好,也能使用maven做构建管理等常用技术。NIFI是基于外部方式来工作的,是bs结构,不需要单独再去安装客户端后台,在服务器上进行调度,类似于加入web,用户可以将数据处理它定义成完整的流程,执行这个流程,就可以实现数据引擎的调度以及整个任务链的处理, NIFI是为了解决不同系统之间,数据的自动流通问题而建立的,涉及到术语概念:dataflow数据流。在很多场景都会被使用。在NIFI当中主要是用来表示不同系统之间的自动化的可管理的信息流。

自从数据企业拥有了很多个系统以后,会有数据的生成系统,也会有系统要去消费这些数据,不同系统之间数据的流吞,就会产生问题。解决方案已经有很多。例如,企业集成eip系统全面的解决数据集成问题。而且也有很多软件实现专门处理数据的抽取,路由以及数据的转换等功能,但是这些软件都会存在各种各样的问题,或者对大数据量的支持不够,不方便使用。或者功能不够灵活、不够强大,大部分软件都不支持扩展,但是NIFI却可以很好的解决遇到的问题。对俘虏数据流,具体面临了以下挑战:

1.Systems fail

系统调用失败。数据集成会面临着各种各样的问题,例如网络故障,或者硬件磁盘故障,软件故障,软件崩溃或人为事故,因为以上原因而导致系统集成调用的失败。

2.Data access exceeds capacity to consume

数据访问超出系统的消耗能力。给数据包括抽取的数据较大时,支撑不了数据转换。

3.Boundary conditions are mere suggestions

数据超出边界。例如数据对象太大或太小,抽取太快或太慢以及有数据损失,格式不正确等。灵活控制以及功能性的方面的问题。

4.What is noise one day becomes signal the naxt

实际的业务变更很快,如果使用起来不方便,或者需要重新书写代码,就会导致响应不够迅速。NIFI可以很好的解决这个问题5.Systems evolve at different rates

另外系统使用协议和数据格式,可能会经常变化,格式每个系统都是不一样的。如何处理不同系统之间数据格式的问题以及交互协议的问题,也是面临的挑战。

6.Compllance and securlty

数据的安全性问题,系统和软件的安全性问题,个别软件和系统可能没有权限管理这方面的管理。

7.Continuous improvement occurs in production

数据迁移性的问题,例如在开发环境运行之后,完成数据抽取以及转换统计分析等过程,到测试环境时,还需要重新完整的部署一遍。测试环境到生产环境的改变就会很大,工作量也会很大。此时使用NIFI会更方便,使整个完整流程快速迁移。对于面临的挑战,dataflow是引起问题的核心,现在有很多活跃的技术来解决这些问题,包括工具软件、SPA代码。如何选择所使用的技术,例如soa或API接口以及iot、大数据。如果只能在内网使用,一旦公开到外网以后,是否涉及到数据包的抓取。虽然新应用软件有很多,但是对数据流处理所面临这些挑战,一直都没有很好解决。Nifi可以完美的解决所面临的这些挑战。

 

二、总结

NIFI 是用来处理数据集成场景的数据分发的工具,是bs结构的图形化工具。解决的问题以下方面:

1.可以解决系统故障导致调度失败的问题,也是高可用

2.可以解决高并发而导致的流程问题,也是高性能、高并发

3.对于错误类型过大、过慢、过快等以及错误数据,可以方便的提示错误数据,相当于错误纠缠

4.对于现实业务需求的变更,能够快速的响应

5.不同系统之间的数据格式可以进行兼容,兼容各种数据格式

6.安全性比较高

7.方便的在测试环境和生产环境当中进行迁移

以上是NIFI的核心概念。

我的学习进度
请登录后查看您的学习进度!
立即登录
本课程相关云产品