[ 展开 ]
红色框中的路径就是项目的码云地址,按照码云上的向导上传完项目后,项目结构必须如下图(项目的pom文件必须在根目录下)
[ 展开 ]
(文档审核标准:1、请按照模板填空,模板段落不要新增、修改、删除,以防说明书的生成出问题,没有内容的填写无即可
2、建议多使用图片样例说明)
(描述此能力的基本用途,提供的功能,及处理逻辑的概要说明,请删除此行说明)
参数名称 | 参数类型 | 是否必填 | 默认值 | 参数说明 |
---|---|---|---|---|
样例参数1 | json | 是 | 无 | JSON类参数要在这里说明子参数的含义 |
样例参数2 | 文本 | 否 | xxxx | - |
(描述输入数据的类型,格式,重要字段,是否强依赖前置能力等重要信息,请删除此行说明)
请在这里填写数据样例
(描述输出数据的类型,格式,输出内容的含义等重要信息,请删除此行说明)
请在这里填写数据样例
(该能力强依赖的前置能力或后置能力,常用搭配使用的能力等,请删除此行说明)
(说明能力的性能品标,比如cpu、内存、线程数不同的情况下能力处理数据的性能,处理不同的数据类型的准确率等,请删除此行说明)
无
无
[ 展开 ]
[ 展开 ]
海量大数据分析平台是基于nifi框架的开放平台,能力以独立的nar包形式存在,每个nar可以包含一个或多个能力(请参考能力开发指导手册了解平台结构)
海量大数据平台下的能力包命名方式是nifi- ARTIFACTID -nar.nar,每个人注册的ARTIFACTID不能相同
在能力开始开发前需要使用nifi-processor-bundle-archetype生成工程结构,在此过程中ARTIFACTID即固定,所以需要先去能力中心注册能力,确认ARTIFACTID是否被占用(注册时可以先不填码云地址)
一个nar包含多个能力的情况下,注册时只要ARTIFACTID和码云地址都一样即可
[ 展开 ]
一、开发环境
开发环境: JDK 1.7以上,apache maven,java开发工具(如:idea)
二、运行环境
Windows/Linux平台,JDK,nifi
JDK安装:略
nifi环境单机部署:
1.从官网下载二进制可运行版本,本文档以nifi-1.2.0-bin.zip为例
2.解压nifi-1.2.0-bin.zip到你要安装的目录,例如:d:\work\nifi-1.2.0
3.修改配置文件nifi-1.2.0/conf/nifi.properties中的ip和端口
nifi.web.http.host=127.0.0.1
nifi.web.http.port=8080
4.启动停止服务
三、开发过程
此过程以idea开发工具为例,eclipse创建工程的步骤请参考使用eclipse创建工程
1.检查jdk和maven是否安装
2.创建Nifi Processor工程(以idea工具为例)
GroupId:org.apache.nifi
ArtifactId:nifi-processor-bundle-archetype
上图新添加artifactBaseName,填写这次插件的名称,要求与artifactId一样。
点击Finished后第一次创建工程会从远程maven仓库下载nifi-processor-bundle-archetype需要的jar包,下载完成后会自动创建如下图两个文件夹
nifi-processorDemo-processors
nifi-processorDemo-nar
查看下图三个pom文件可以发现三者的maven依赖关系,此处省略
自动生成的工程结构需要手动设置Sources Root、Resources Root 、Test Sources Root,请按下图标志依次设置
自动生成的pom文件中引用包没有注明version,打开nifi-processorDemo-processors下的pom.xml,添加公共类库的版本号,如下图
3.开发第一个Processor
自动创建的工程里默认生成MyProcessor样例,下面依照该样例创建一个新Processor
创建过程中Superclass填写:org.apache.nifi.processor.AbstractProcessor
默认创建好的类文件如图所示:
例如MyFirstProcessor功能为把配置的一个字符串或正则表达式替换为另一个字符串。
这样一个简单的Processor就开发完成了。
新建Junit Test Case
编写测试用例并测试
如果测试通过,进入下一步
5.打包与部署
配置文件的目录为:
nifi-processorDemo-processors\src\main\resources\META-INF\services\org.apache.nifi.processor.Processor
打开此文件,把Processor的全类名写到文件中:
在工程目录下,执行mvn package命令
或者直接使用idea的maven工具打包
打包成功,会在目录nifi-processorDemo-nar\target\下生成.nar文件(本例中生成文件为:nifi-processorDemo-nar-1.0-SNAPSHOT.nar)
6.部署
把nar文件copy到nifi-1.2.0\lib目录下,重启服务,即可使用了。
代码与Processor在界面上显示关系
对照前面代码与界面
PS:nifi rest api接口详细说明参考:https://nifi.apache.org/docs/nifi-docs/rest-api/index.html
四、上传代码
在本地nifi上测试通过的代码可以上传到海量码云代码仓库,详情请见能力注册申请流程文档
[ 展开 ]
1、检查jdk和maven是否安装
2、创建新的目录nifiProject
3、在新建目录下执行命令mvn archetype:generate
根据提示进行输入:注意选择nifi的版本,不要高于部署的版本
依次填写groupId、artifactId、artifactBaseName
groupId 填写 例如com.hylanda
artifactId 填写 例如closurewordfilter
artifactBaseName 跟artifactId填写一样的值
4、命令执行完成后,会生成项目目录以及项目文件
5、将创建好的工程转化为Eclipse工程
(注意执行过程中需要联网,会下载工程所需包文件)
1、 在工程目录下执行命令:mvneclipse:eclipse -DdownloadSources=true
2、 打开Eclips,导入工程。
点击完成按钮,工程就导入成功了。
[ 展开 ]
提示:开发之前 建议 先取好ARTIFACTID名字,再使用此名字进行能力开发,避免冲突
2、注册成功后参考能力开发指导手册开发代码,上传码云
1、开发者完成自测后,回到能力开发者页面升级上线能力
点击升级填入必填项:
能力上线必备物:
建议将说明放在根目录的doc文件下,上图中能力说明书地址的是 码云工程根目录/doc/doc_AskAnswerComment.md ,注意此地址是以文件夹目录方式拼接而成,不是浏览器里打开的url地址
2、能力的状态说明
提交升级后,能力会变成【构建中】状态,构建完成大概需要1~3分钟,变成【构建成功】状态后无需开发者进行任何操作
在能力查找页面按状态过滤时,开发者只需关注图中红框部分,非红框部分代表具体中间状态
页面当前版本号变成此次升级的版本号时,即代表升级成功,使用者在工作台点击升级按钮即可同步最新nar包
附加说明:
1、每天人工审核升级固定在16点,请在此之前提交申请,如需紧急升级请单独联系管理员
2、由于技术原因,升级不能全自动,管理员在审核通过后将联系开发者登陆指定画布验证此次升级,得到开发者确认后才会真正升级
[ 展开 ]
模板能力是一类使用模板工程的能力,它没有自己独立的nar包,通过模板的规则填入相应的参数使能力提供丰富的功能,目前主要用于海量内部团队的图形展示
注册完能力后准备好能力必备附加物即可直接升级(参考能力注册升级指导手册里的能力升级必备)
[ 展开 ]
平台拉取 指定码云地址 的 指定标签 下的代码(只用master分支),使用maven工具依赖码云地址根目录下的pom文件打包,标准pom文件如下:
上图的pom文件在创建工程时自动生成,artifactId不允许改变,该pom文件打包出来的nar名字就是nar-crawl-nar.nar
只需升级其中任何 一个 能力,不允许多个能力使用同一个标签升级(即同一工程的标签为一次性的,使用后无论此次升级成功与否,下次都需要打新的标签)
[ 展开 ]
此步骤即升级之前的预演,确保升级和能力提供商的预期相同,能力提供商在接到管理员通知后登陆平台验证功能,具体步骤:
2、点击进入后将看到【能力升级验证任务】,点开后即可验证本次升级(管理员通知验证时已同步完nar包)
GMT+8, 2024-5-20 08:51 , Processed in 0.033754 second(s), 9 queries .