软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 云计算 -> ApacheNifi开发 -> 正文阅读

[云计算]ApacheNifi开发


      Apache NiFi是由美国过国家安全局(NSA)贡献给Apache基金会的开源项目,其设计目标是自动化系统间的数据流。基于其工作流式的编程理念,NiFi非常易于使用,强大,可靠及高可配置。两个最重要的特性是其强大的用户界面及良好的数据回溯工具(官网吹的)[img]http://static.blog.csdn.net/xheditor/xheditor_emot/default/smile.gif
      nifi 使用起来还比较方便,基于web 的控制界面能够比较好的管理和控制数据流转,数据处理的业务流程也比较明确,下面说一下 如何定制开发一个基于我们自身业务的组件
1.工程结构
    nifi对工程结构做了规范,我们只要按照他的格式创创建工程包 .nar,放到../lib/目录下,启动服务就能在页面组件中心找到并使用我们控件
    1)简单的方式是在源码中打开一个nar 模块 ,根据我们的业务修改名称然后。。。(该怎么玩怎么玩,省去建立工程模块的麻烦)
[img]http://img.blog.csdn.net/20160330113140923?watermark/2/text/aHR0cDovL2Jsb2cuY3Nkbi5uZXQv/font/5a6L5L2T/fontsize/400/fill/I0JBQkFCMA==/dissolve/70/gravity/Center

    2)就是要自己新建,那么总的来说 三步:
          a.新建maven 模块  xxxx-xxx--bundle
               pom.xml 说明依赖关系:

       [img][img]http://img.blog.csdn.net/20160330113634867
          b. 在a模块下再新建  xxx-xxx-nar
              pom.xml 说明依赖关系
[img][img]http://img.blog.csdn.net/20160330113725946
          c.在a模块下新建  xxx-xxx-processors
             pom.xml 说明依赖关系
[img] [img]http://img.blog.csdn.net/20160330113820744
具体操作看看 源码中的结构就明白了,这都不是重点 [img]http://static.blog.csdn.net/xheditor/xheditor_emot/default/mad.gif
2.开发属于自己的功能组件
   组件一般来说分为service 和processor  咱们先来说以下新建一个processor 
   总的来说分两步  1.组件功能开发,2组件声明(向外暴露)
   组件功能开发,在xxx--xxx-processors 新建工程类xxxx.java
 [img][img]http://img.blog.csdn.net/20160330114603174
  功能组件总的来说 也分为三个部分
   a. 外界参数声明   2,输出关系声明   3,数据流触发操作
  a.外界参数说明
       如果我们的组件需要和外界做交互,需要外部传入参数那么就需要做参数声明
[img][img]http://img.blog.csdn.net/20160330114632378

    通过这种方式声明一个参数,nifi 自身提供了比较多的验证器 可以对参数做约束验证 大家自己看着玩[img]http://static.blog.csdn.net/xheditor/xheditor_emot/default/bye.gif
   参数定义之后需要向外部暴露,需要重写getSupportedPropertyDescriptors 方法
[img][img]http://img.blog.csdn.net/20160330114712269

nifi 还支持动态增加属性,方式差不多,大家自己看着玩。。。[img]http://static.blog.csdn.net/xheditor/xheditor_emot/default/bye.gif
2.定义转换关系
    nifi 通过转换关系对数据做流转操作,所以我们组件中必须定义至少一个转换关系
    [img][img]http://img.blog.csdn.net/20160330114735303
     同样关系定义完成,需要对外界暴露,就需要重写getRelationships
[img]http://img.blog.csdn.net/20160330131944071

[img]

好了  到此 准备工作基本完成 ,下来就进入主体部分,操作文件流
 3.文件流操作
    nifi 是以FlwoFile 为处理单位的,数据可以抽象理解为一个个的flowfile 这也就是数据流了[img]http://static.blog.csdn.net/xheditor/xheditor_emot/default/smile.gif
   nifi 数据处理是以重写onTriger 开始的 
   对于flowfile 的操作大致分为三中
    1.读  从数据流中读取数据内容
[img]http://img.blog.csdn.net/20160330132002853

[img]

  2.写  写入数据到flowfile中
[img]http://img.blog.csdn.net/20160330132018954[img]



3.读完写
[img][img]http://img.blog.csdn.net/20160330132030853

这里完成逻辑处理之后 ,nifi 必须要将flowfile提交转换
[img]http://img.blog.csdn.net/20160330132054634

[img]

好了 这里就完成了组件功能开发,下面对我们新开发的组件做一下声明,使其对外暴露
看好了 我只来一遍
 [img][img]http://img.blog.csdn.net/20160330132323927
好了 好了 都完成了 打包 放到nifi 安装目录下的lib目录下 重启服务就好了[img]http://static.blog.csdn.net/xheditor/xheditor_emot/default/proud.gif
[img][img]http://img.blog.csdn.net/20160330132451667

[img]http://img.blog.csdn.net/20160330132506839

你看 揍死这么神奇
[img]

        好了好了 大家自由玩耍吧 ,我也是才接触这个 又不正确或不到位的地方多包涵,一起交流 相互学习 共同进步,第一次写blog 话有些多了


......显示全文...
    点击查看全文


上一篇文章      下一篇文章      查看所有文章
2016-04-01 16:58:16  
云计算 最新文章
CentOS7上安装Zabbix(快速安装监控工具Zab
十分钟搭建NeuralStyle服务
solr入门之拼写纠错深入研究及代码Demo
3个netty5的例子,简单介绍netty的用法
RedhatOpenshift云平台注册使用
Akka框架——第一节:并发编程简介
Hadoop实战:Linux报tmp磁盘存储不足
linux安装thrift
感觉快更快规划计划高考韩国
solr相似匹配
360图书馆 论文大全 母婴/育儿 软件开发资料 网页快照 文字转语音 购物精选 软件 美食菜谱 新闻中心 电影下载 小游戏 Chinese Culture
生肖星座解梦 人民的名义 人民的名义在线看 三沣玩客 拍拍 视频 开发 Android开发 站长 古典小说 网文精选 搜图网 天下美图
中国文化英文 多播视频 装修知识库
2017-7-21 4:45:05
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --