Apache NiFi 入门之Demo

开始之前插入一个题外话,我朋友问了我一个问题,为什么要用Apache NiF?他在什么业务场景下才能使用Apache NiFi?
我开始对于这个问题的回答是结合我自身公司业务情况出发的,我接触Apache NiFi是因为公司有很多系统并且每个系统都有自己的数据工具,希望能有一个数据平台进行统一的管理和监控,并且公司的架构也将Apache NiFi作为数据采集和处理的工具,基于以上我才开始了解和使用Apache NiFi。
但是每家公司不可能业务场景都一样,那么到底要什么样的业务场景才能使用Apache NiFi呢?结合自身的一个了解我总结出:凡是涉及数据To数据的都可以使用上Apache NiFi,小到业务中最常见的调用接口写入数据库,大到用作数据中台,Apache NiFi自身的定位就是数据的万花筒。
好了这个题外话就说到这里,下面正式开始我们这一节的主题Apache NiFi 入门之Demo

假定有这样一个业务场景,通过RestFul接口获取数据并写入文件,下面让我们用Apache NiFi来完成这个业务场景

1.官网下载Apache NiFi

Apache NiFi下载页面

下载地址:Apache NiFi

  • Windows系统下载文件名后缀为:bin.zip的文件。
  • Linux系统下载文件名后缀为:bin.tar.gz的文件

下载完后,Windows系统将文件解压到指定目录即可,Linux系统执行:tar -zxvf nifi-XXX.bin.tar.gz即可解压到当前目录

2.运行Apache NiFi

这里以Windows系统下的Apache NiFi为例子

  • 如图所示,进入解压目录中的bin文件夹。


    bin目录
  • 点击run-nifi.bat进行启动。


    启动
  • 如图所示,启动成功。


    启动窗口
  • 打开浏览器输入:http://localhost:8080/nifi/ ,进入Apache NiFi主界面。

    Web界面

3.使用NiFi进行数据获取并写入文件

  • 数据采集
  1. 如图所示,将processor组件拖拽至面板中。


    使用processor
  2. 搜索HTTP相关操作的处理器,选择InvokeHTTP处理器,它可以用来获取接口数据。
    这里有人肯定会问为什么不使用GetHttp处理器来获取数据,看处理器的名称很容易就知道这是一个Get请求获取数据的处理器,这是因为官方文档已经不建议我们使用这个处理器了,它已经过时了,官方在未来会对这个处理器进行删除,推荐我们使用InvokeHTTP处理器。


    选择InvokeHTTP
  3. 右键点击InvokeHTTP处理器,选择Configura,进行处理器配置。


    配置InvokeHTTP处理器
  4. 点击PROPERTIES,然后选择请求方式为Get,并填写你需要请求的接口地址。


    PROPERTIES配置
  5. 点击SCHEDULING,配置接口请求的时间间隔,我们这里设定一天请求接口一次,也支持CRON语法。


    配置接口请求时间间隔
  1. 勾选如图所示的属性。(InvokeHTTP处理器请求响应结果与勾选的属性结果一致时,就不会将请求的数据路由到下游处理器)


    配置路由规则
  2. 将InvokeHTTP处理器连接拖拽至下游UpdateAttribute处理器,InvokeHTTP处理器会匹配路由规则将采集的数据传输到下游UpdateAttribute处理器中。


    连接图标拖拽至下游UpdateAttribute处理器
  3. 拖拽成功后,选中Response属性。


    配置路由规则
  • 数据处理
  1. 拖拽处理器图标到面板,搜索并使用UpdateAttribute处理器。


    UpdateAttribute处理器
  2. 右键点击UpdateAttribute处理器,配置一个filename属性给下游处理器进行使用。


    配置flowfile属性

    添加filename属性
  3. 配置路由规则,将数据和flowfile属性提供给下游PutFile处理器使用。


    配置路由规则
  • 数据下沉
  1. 拖拽处理器图标到面板,搜索并使用PutFile处理器,顾名思义就是将数据写入文件的处理器。


    PutFile处理器
  2. 同样右击选中并配置PutFile处理器。


    配置PutFile
  3. 点击PROPERTIES,将数据写入指定的目录中。


    配置输出目录
  1. 勾选PutFile所有关系。(表示PutFile处理器不将处理的结果给到下游处理器)


    配置路由规则
  • 选中面板点击start
    启动面板内的所有处理器
  1. 图中我们可以很清晰的看到InvokeHTTP处理器输入和输出一条数据、UpdateAttribute处理器也输入和输出一条数据、PutFile处理器只有输入一条数据,没有输出数据。


    NiFi执行流程中

    最终结果

    文件内容

完成上述步骤就可以入门Apache NiFi了,是不是很神奇?不用写任何代码就能完成数据输出到文件的功能。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 217,734评论 6 505
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,931评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,133评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,532评论 1 293
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,585评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,462评论 1 302
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,262评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,153评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,587评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,792评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,919评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,635评论 5 345
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,237评论 3 329
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,855评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,983评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,048评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,864评论 2 354

推荐阅读更多精彩内容

  • NiFi基本概念 概述 简单地说,NiFi是为了自动化系统之间的数据流而构建的。虽然术语“数据流”在各种环境中使用...
    菜鸟Coders阅读 7,296评论 0 3
  • 本文是Apache NiFi 专栏的开篇,用来介绍Apache NiFi 是什么,主要解决什么问题。 在学习一个新...
    小陈中间件阅读 682评论 0 1
  • Apache nifi 开发指南 版本:V 1.6 日期:2018年6月13日 [if !supportLists...
    行走的数据智能阅读 8,299评论 0 1
  • 什么是Apache NiFi Apache NiFi官网对NiFi的定义如下: An easy to use, p...
    一个老冯阅读 1,060评论 0 2
  • 为了能够创建一个高效的NiFi数据数据流程,我们需要了解有哪些Processor类型可以使用。每个新的NiFi版本...
    一个老冯阅读 1,180评论 0 0