NiFi
文章平均质量分 50
Todd-liu
这个作者很懒,什么都没留下…
展开
-
Apache Nifi
2.2 Apache NiFi快速入门2.2.1 NiFi版本包下载NiFi官方最新版本下载地址:https://nifi.apache.org/download.htmlNiFi官方历史版本下载地址:https://archive.apache.org/dist/nifi/NiFi官方Docker部署的介绍和镜像地址:https://hub.docker.com/r/apache/nifi/Ni...原创 2018-04-21 18:06:34 · 1085 阅读 · 0 评论 -
Apache Nifi
2.2.3 NiFi控制台介绍按照以上步骤完成NiFi的启动后,现在可以尝试通过NiFi的UI来创建并监控一个数据流。NiFi默认启动后的访问端口是8080,我们可以直接在浏览器输入http://localhost:8080/nifi来登陆NiFi的控制台,NiFi的默认启动端口可以通过配置文件对其进行修改,在后面的章节中我们会具体介绍修改的配置参数。登陆控制台后我们可以看到一个空白的画布,后面可...原创 2018-04-21 18:07:58 · 416 阅读 · 0 评论 -
Apache Nifi
2.2.4 NiFi创建数据流在创建NiFi数据流之前,先回顾下上一章节提到的两个重要术语:FlowFile和处理器单元,这两个是数据流的重要概念,对于我们理解并创建数据流有很大的帮助。FlowFile:数据流中的任何的用户数据都以FlowFile的形式存在。FlowFile包括两部分:正文和属性;其中正文指的是数据本身的内容,而属性则是对数据进行描述的键值对。处理器单元:处理器单元是NiFi数据...原创 2018-04-21 18:12:26 · 958 阅读 · 0 评论 -
Apache Nifi
2.3.6 数据提取类处理器单元GetFileGetFile处理器单元从本地磁盘获取文件的内容到NiFi,并删除原有的磁盘文件。这个处理器应用场景是将一个文件从一个地方搬移到另外一个地方而不是对文件的拷贝。上面的图中表示Processor将/user/sample.txt文件的内容输出到FlowFile的内容中。GetFTPGetFTP处理器单元从FTP服务器文件内容输出到FlowFile中,并可...原创 2018-05-06 09:25:45 · 907 阅读 · 0 评论 -
Apache Nifi
2.3.7数据发送类处理器单元PutEmailPutEmail处理器单元主要功能是将FlowFile的内容以邮件的形式发送给配置的用户邮箱,也可以通过配置选择将FlowFile的内容以附件的方式发送出去。PutFilePutFile处理器主要功能是将FlowFile的内容以文件的形式写入本地磁盘。上面的图中表示Processor将接收到的FlowFile的内容写入到本地的磁盘文件中。(注意:1.5...原创 2018-05-06 09:28:01 · 546 阅读 · 0 评论 -
Apache Nifi
2.3.8切分和聚合类处理器单元SplitTextSplitText处理器单元可以将一个文本内容的FlowFile切分成你想要数量的FlowFile。上面的图中表示Processor将输入的FlowFile的内容切分成多个FlowFile,每个FlowFile的内容都来自于FlowFile中的一行内容。SplitJsonSplitJson处理器单元可以将一个JSON对象根据它的结构拆解成JSON内...原创 2018-05-06 09:32:41 · 882 阅读 · 0 评论 -
Apache Nifi
2.3.9 HTTP协议类处理器单元GetHTTP GetHTTP处理器单元对配置的http或者https协议的URL发起请求并将返回结果输出到新的FlowFile中。而且GetHTTP会记录Etag和最新数据修改时间避免不停的访问给服务端产生不必要的开销。如下图ListenHTTP ListenHTTP处理器单元监听Http或者Https请求,如果有请求先返回200然后将POST的请求参数输出到...原创 2018-05-06 09:34:24 · 606 阅读 · 1 评论 -
Apache Nifi
2.4 NiFi Controller Service应用介绍Controller service是一个能被各个processor,reporting task以及其它service用于配置和任务执行的共享服务。举个具体的应用场景,当NiFi中创建了大量的数据流,且这些数据流都有从同一源数据库获取数据的需求。此时必然要考虑源数据库的连接数的问题,如果NiFi在各个数据流的访问数据库的处理器单元之间...原创 2018-05-27 08:13:45 · 3596 阅读 · 0 评论 -
Apache Nifi
2.4.2 配置Controller Service点击“”编辑按钮,弹出Controller Service的配置页面,如配置页面有3个Tab页:Settings,Properties和Comments。配置页面同样也类似于处理器单元的属性配置页面。在Settings的Tab页中可以根据需要给Controller Service配置一个唯一的名称,同时也给出了Controller Service...原创 2018-05-27 08:16:37 · 278 阅读 · 0 评论 -
Apache Nifi
2.4.3 为数据流添加Controller Service为一个数据流添加Controller Service,你可以右击处理组然后选择Configure,如也可以通过控制台的操作面板选择Configure,如当从控制面板进入Controller Service添加配置页面,需要对于Controller Service的应用范围需要特别注意。在没有选中任何处理组的情况下点击控制面板添加配置完成的...原创 2018-05-27 08:19:09 · 335 阅读 · 0 评论 -
Apache Nifi
2.3.5 系统交互类处理器单元ExecuteProcessExecuteProcess处理器单元能够运行用户定义的操作系统命令,将处理完的标准输出内容写入flowfile中。该处理器是一个不需要输入的源处理器,它会输出产生一个新的FlowFile。如果需要提供输入源请使用下面介绍的executestreamcommand处理器单元。上面的图中表示Processor根据输入的指令和参数执行命令ls...原创 2018-04-22 11:44:49 · 866 阅读 · 0 评论 -
Apache Nifi
2.3.4 属性提取类处理器单元EvaluateJsonPathEvaluateJsonPath处理器单元根据用户定义的JSONpath表达式对FlowFile的JSON内容进行解析,将这些表达式所解析出来的内容替换FlowFile的内容或者将其更新到FlowFile的属性中,以便于后续的单元处理器的引用。上面的图中表示Processor将输入内容为JSON格式的FlowFile例如{“name”...原创 2018-04-22 11:43:02 · 672 阅读 · 0 评论 -
Apache Nifi
第2章 NiFi基础应用篇2.1 Apache NiFi术语介绍DataFlow ManagerNiFi是一个强大数据流管理平台,为用户提供数据流的创建、修改以及删除操作。FlowFile在NiFi中FlowFile代表数据流中的数据以及这个数据的相关属性。FlowFile由两部分组成:FlowFile的属性和内容。FlowFile的内容指的就是数据流中数据,属性是对数据的描述,例如数据的大小等,...原创 2018-04-21 18:02:20 · 1343 阅读 · 0 评论 -
Apache Nifi
1.3 Apache NiFi背景介绍Apache NiFi是由美国过国家安全局(NSA)贡献给Apache基金会的开源项目。2015年7月20日,Apache 基金会通过其博客宣布Apache NiFi顺利孵化完成称为Apache的顶级项目之一。NiFi初始的项目名称是Niagarafiles,当NiFi项目开源之后,一些早先在NSA(美国国家安全局)的开发者们创立了初创公司Onyara,Ony...原创 2018-04-21 17:56:55 · 391 阅读 · 0 评论 -
Apache Nifi
1.2 Apache NiFi功能介绍 Apache NiFi主要的功能如下:λ 图形化操作通过NiFi的Web控制台可以对数据流直接进行图形化创建、修改以及删除操作。从而能快速完成数据流的设计、上线以及监控。λ 数据血源NiFi对流过其数据流的数据进行了血源记录管理,用户可以很方便的对数据流中的历史数据进行问题定位以及血源分析。λ 基于优先级的数据处理NiFi对于其数据流Queue中的数据可以定...原创 2018-04-21 17:56:20 · 392 阅读 · 0 评论 -
Apache Nifi
1.1.3 Apache NiFi是什么简单来说,NiFi是一个强大的数据流管理平台。它很好的解决了上述的挑战。同时它也集服务总线、数据处理、消息总线以及ETL功能于一身。...原创 2018-04-21 17:55:39 · 244 阅读 · 0 评论 -
Apache Nifi
1.1.2 数据流挑战数据流(Data Flow)是用来抽象和概括各数据系统间数据交换和传递行为的专业术语。如果设计一个好的数据平台,主要面临以下一些挑战:可靠性企业往往会有很多数据系统,数据流负责将这些复杂的数据系统之间相互连接,所以数据系统的稳定性将直接影响连接这些系统的数据流的可靠性。而数据流本身的网络不稳定、磁盘损坏问题、软件的Bug以及人为的操作失误等因素也都直接影响数据流可靠性。数据缓...原创 2018-04-21 17:54:36 · 273 阅读 · 0 评论 -
Apache Nifi
第1章NiFi入门介绍篇1.1数据流挑战1.1.1 数据系统演进传统的数据系统都是由单一的子系统组成,且各子系统之间没有数据交换的需求。近些年来随着移动互联网、物联网的快速发展,人类创造了史无前例的有价值的大数据。这些有价值的大数据往往不仅仅会存在于单一的子系统中,数据需要在复杂的各个系统之间进行传递和交换,让各种维度的数据能够聚集分析,从而产生出远远大于单个数据所产生的价值。下面让我们看一个结构...原创 2018-04-21 17:53:27 · 300 阅读 · 0 评论 -
Apache Nifi
2.3 NiFi Processor应用介绍对于NiFi的使用者来说,如果想要创建一个高效的数据流,那么就需要了解什么样的单元处理器才最适合这个数据流。NiFi拥有大量的可以用于各种业务场景的单元处理器可供使用者挑选和使用,这些单元处理器主要提供例如系统之间数据的传输,数据的路由,数据的转换、处理、分割和聚合等大类的功能。在每个NiFi的版本发布中都会有大量的新的处理器单元产生,这就导致本书中讲重...原创 2018-04-22 08:50:56 · 545 阅读 · 0 评论 -
Apache Nifi
2.3.2 数据路由类和调制处理器单元ControlRateControlRate处理器单元用来控制数据流部分流量的速率。上面的图中的例子表示1分钟内只允许最多1000个FlowFile流过。DetectDuplicateDetectDuplicate处理器单元用来依据用户定义的特征来监控和发现重复的FlowFile。通常这个处理器会搭配HashContent单元处理器来完成功能。上面的图中的例子...原创 2018-04-22 08:53:54 · 751 阅读 · 0 评论 -
Apache Nifi
2.3.3 数据接入类处理器单元ConvertJSONToSQLConvertJSONToSQL处理器单元可以将结构化的Json转换成INSERT或者UPDATE这样命令的SQL,配合PutSQL处理器单元可以直接根据这鞋命令将数据插入数据库中。上面的图中表示Processor根据输入的FlowFile的JSON内容,将JSON转化成Update的SQL语句。ExecuteSQLExecuteSQ...原创 2018-04-22 11:40:37 · 858 阅读 · 0 评论 -
Apache Nifi
2.4.4 Controller Service分类介绍AvroReaderAvroReader解析Avro数据并且将每个Avro记录解析为一个独立的记录对象返回。解析Avro的schema可以来自于数据本身,也可以通过“Schema Access Strategy”属性配置的策略去Schema注册服务获取Schama。AvroRecordSetWriter将记录集的内容写成Avro二进制格式。S...原创 2018-05-27 08:20:11 · 1534 阅读 · 0 评论