软件世界网 购物 网址 三丰软件 | 小说 美女秀 图库大全 游戏 笑话 | 下载 开发知识库 新闻 开发 图片素材
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
移动开发 架构设计 编程语言 Web前端 互联网
开发杂谈 系统运维 研发管理 数据库 云计算 Android开发资料
  软件世界网 -> 云计算 -> ApacheNifi开发 -> 正文阅读
云计算 最新文章
CentOS7上安装Zabbix(快速安装监控工具Zab
十分钟搭建NeuralStyle服务
solr入门之拼写纠错深入研究及代码Demo
3个netty5的例子,简单介绍netty的用法
RedhatOpenshift云平台注册使用
Akka框架——第一节:并发编程简介
Hadoop实战:Linux报tmp磁盘存储不足
linux安装thrift
感觉快更快规划计划高考韩国
solr相似匹配

[云计算]ApacheNifi开发

  2016-04-01 16:58:43

      Apache NiFi是由美国过国家安全局(NSA)贡献给Apache基金会的开源项目,其设计目标是自动化系统间的数据流。基于其工作流式的编程理念,NiFi非常易于使用,强大,可靠及高可配置。两个最重要的特性是其强大的用户界面及良好的数据回溯工具(官网吹的)

      nifi 使用起来还比较方便,基于web 的控制界面能够比较好的管理和控制数据流转,数据处理的业务流程也比较明确,下面说一下 如何定制开发一个基于我们自身业务的组件
1.工程结构
    nifi对工程结构做了规范,我们只要按照他的格式创创建工程包 .nar,放到../lib/目录下,启动服务就能在页面组件中心找到并使用我们控件
    1)简单的方式是在源码中打开一个nar 模块 ,根据我们的业务修改名称然后。。。(该怎么玩怎么玩,省去建立工程模块的麻烦)


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

       

          b. 在a模块下再新建  xxx-xxx-nar
              pom.xml 说明依赖关系

          c.在a模块下新建  xxx-xxx-processors
             pom.xml 说明依赖关系
 

具体操作看看 源码中的结构就明白了,这都不是重点 

2.开发属于自己的功能组件
   组件一般来说分为service 和processor  咱们先来说以下新建一个processor 
   总的来说分两步  1.组件功能开发,2组件声明(向外暴露)
   组件功能开发,在xxx--xxx-processors 新建工程类xxxx.java
 

  功能组件总的来说 也分为三个部分
   a. 外界参数声明   2,输出关系声明   3,数据流触发操作
  a.外界参数说明
       如果我们的组件需要和外界做交互,需要外部传入参数那么就需要做参数声明


    通过这种方式声明一个参数,nifi 自身提供了比较多的验证器 可以对参数做约束验证 大家自己看着玩

   参数定义之后需要向外部暴露,需要重写getSupportedPropertyDescriptors 方法


nifi 还支持动态增加属性,方式差不多,大家自己看着玩。。。

2.定义转换关系
    nifi 通过转换关系对数据做流转操作,所以我们组件中必须定义至少一个转换关系
    

     同样关系定义完成,需要对外界暴露,就需要重写getRelationships




好了  到此 准备工作基本完成 ,下来就进入主体部分,操作文件流
 3.文件流操作
    nifi 是以FlwoFile 为处理单位的,数据可以抽象理解为一个个的flowfile 这也就是数据流了

   nifi 数据处理是以重写onTriger 开始的 
   对于flowfile 的操作大致分为三中
    1.读  从数据流中读取数据内容




  2.写  写入数据到flowfile中




3.读完写


这里完成逻辑处理之后 ,nifi 必须要将flowfile提交转换




好了 这里就完成了组件功能开发,下面对我们新开发的组件做一下声明,使其对外暴露
看好了 我只来一遍
 

好了 好了 都完成了 打包 放到nifi 安装目录下的lib目录下 重启服务就好了





你看 揍死这么神奇


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


上一篇文章      下一篇文章      查看所有文章
2016-04-01 16:58:16  
360图书馆 论文大全 母婴/育儿 软件开发资料 网页快照 文字转语音 购物精选 软件 美食菜谱 新闻中心 电影下载 小游戏 Chinese Culture
生肖星座解梦 人民的名义 人民的名义在线看 三沣玩客 拍拍 视频 开发 Android开发 站长 古典小说 网文精选 搜图网 天下美图
中国文化英文 多播视频 装修知识库
2017-4-25 3:12:42
多播视频美女直播
↓电视,电影,美女直播,迅雷资源↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  软件世界网 --