“如今AI和数据处置密无法分,80%的企业可以应用Apache NiFi轻松处置复杂的数据疑问,极速实现场景树立。犹如花上百来块钱在家享用一顿不亚于五星级中餐厅的法式大餐。关于全栈式的数据剖析师或许数据运行的Java研发工程师,NiFi让其解脱复杂的数据工程,而是将精神放在剖析和运行的翻新之上。而NiFi的GUI也着实令人赏心顺眼!”
1.Apache NiFi
说到数据平台,很多人的第一反响要么是ETL/ELT,要么是Spark或Hadoop,要么是Flink,要么是各式各样的湖仓技术,例如Delta Lake。小编多年来依据不同的业务场景布局落地不少数据平台,很分明的明确保养一套数据处置套件老本不菲。先不说调度引擎、运算引擎、数据控制引擎和存储引擎,光是数据品质和产出效益就让很多企业控制者头疼,况且现代化的技术体系都附丽云原生,这也是不小的一块投入。就算下定信心树立数据平台,技术路途抉择和人才储藏则是另一大难题。要知道如何选用最适合的技术至关关键,和2B产品线的生死把握在靠谱的产品经理手中一样。
如今AI时代曾经抵达,如何极速且以较低的老本启动数据处置和微控制则十分关键。毕竟如今的节拍越来越快,从商业的角度,小投入,快运行,螺旋式的放大投资成为很多人的选用。回忆过去十年,加之最近在数据畛域的咨询量参与,小编以为是时刻引见一下NiFi,让它能够失掉最平等的尊重。回忆这十年,NiFi走得很稳,正如它的官方所引见的一样,NiFi是弱小、牢靠、便捷易用的处置和散发数据的系统。
便捷而言Apache NiFi是一款开源的数据流处置工具,提供了弱小的数据采集、传输、转换和处置才干。它可以协助用户轻松地构建可裁减、高度可性能的数据流处置管道,允许从各种起源(包含本地磁盘、网络、传感器等)失掉数据,并将其路由、转换、过滤和聚合后输入到各种指标(包含 Hadoop、HDFS、Kafka、Solr等)。同时,Apache NiFi 还提供了直观的可视化界面,协助用户极速构建和控制数据流处置义务。
Apache NiFi的体系结构基于可插拔的Processor、Controller Service和自定义Extension,使其能够极速顺应不同的场景和需求,同时坚持高性能和牢靠性。NiFi的里层还附丽Java虚构机,树立在Spring基础上。依据处置流量的大小,选择了其对系统资源的占用状况以及能否须要配件允许。
如上图所示,NiFi允许单机和集群形式。在散布式部署的状况下,ZK作为散布式分歧性的两边件。每个节点都树立在JVM的基础上,两边是各种处置数据的Processor,底层则是NiFi的数据存储仓库以及数据监管机制。
上图为数据流工程的一局部,可以启动分畛域设计。便捷、洁净和高牢靠。
2.数据模型
NiFi的全体框架下,数据模型被建模为FlowFile,请记住这个术语。它由内容(Content)和属性(Attribute)两局部组成。毕竟在物理环球,任何的数据信息都是由信息体和头部信息组成。一系列的处置组件在相反的规范下相互衔接构成处置管道。数据会沿着管道启动流动构成数据流。同时,NiFi的组件很丰盛,截止到1.27的版本曾经凑近+。<不够用,没疑问,可以自己定义。>
每个组件都是FlowFile进,FlowFile出。每份数据都会从流的开局传输到流的完结。自动状况下,它经常使用已NiFi的存储介质作为机制,例如本地磁盘,因此NiFi关于I/O的要求比拟高。
FlowFile Content存储着数据主体信息,可以了解为文本内容,可以是Json格局,也可以是二进制文件等等。而FlowFileAttribute则是参与到每个FlowFile文件下面的Key-Value对,也即为键值对。
这些属性的有一局部是NiFi系统给每个FlowFile加上(例如FlowFile创立期间、FlowFile大小、uuid等等),也可以经常使用户自行参与的属性对,还可以是由Processor(每个处置节点)自己设置,用来表明这些数据的特定属性或形态。
每个流的数据都可以在NiFi GUI可视化直观的跟踪和显示,尤其可以追溯每份数据处置的链路图,比如源头和处置的组件,相似数据的血统追踪。
本文转载自,作者: