能力中心 > 论坛 能力开发指导手册 >
海量大数据分析平台 帮助 能力开发指导手册

开发者论坛

海量大数据分析平台

 找回密码
 立即注册
搜索
海量大数据分析平台 帮助 能力开发指导手册

能力开发指导手册

将项目加入海量自动集成

[ 展开 ]

步骤

输入图片说明

红色框中的路径就是项目的码云地址,按照码云上的向导上传完项目后,项目结构必须如下图(项目的pom文件必须在根目录下)

输入图片说明

  • 将“海量平台能力中心管理员”账号,授权成为你的项目的“观察者”
  1. 首先,打开你的项目首页,点击“管理”,如下图操作
    输入图片说明
  2. 依次点击“项目成员管理” -> “观察者” -> “添加项目成员” -> “搜索添加”,如下图操作
    输入图片说明
  3. 使用下图中的“方法二” 输入“海量能力中心管理员”的账号“psc@hylanda.com”,邀请我们加入你的项目
    输入图片说明
  4. 经过一段时间后,就能在项目成员中看到我们啦
    输入图片说明

能力说明书模板

[ 展开 ]

(文档审核标准:1、请按照模板填空,模板段落不要新增、修改、删除,以防说明书的生成出问题,没有内容的填写无即可
2、建议多使用图片样例说明)

能力说明

功能简介

(描述此能力的基本用途,提供的功能,及处理逻辑的概要说明,请删除此行说明)

配置参数

参数名称 参数类型 是否必填 默认值 参数说明
样例参数1 json JSON类参数要在这里说明子参数的含义
样例参数2 文本 xxxx -

输入简介

(描述输入数据的类型,格式,重要字段,是否强依赖前置能力等重要信息,请删除此行说明)

输入数据样例

请在这里填写数据样例

输出简介

(描述输出数据的类型,格式,输出内容的含义等重要信息,请删除此行说明)

输出数据样例

请在这里填写数据样例

相关能力

(该能力强依赖的前置能力或后置能力,常用搭配使用的能力等,请删除此行说明)

参考指标

(说明能力的性能品标,比如cpu、内存、线程数不同的情况下能力处理数据的性能,处理不同的数据类型的准确率等,请删除此行说明)

附加说明

隐藏参数说明

5分钟了解如何成为能力供应商

[ 展开 ]

什么是ARTIFACTID

[ 展开 ]

海量大数据分析平台是基于nifi框架的开放平台,能力以独立的nar包形式存在,每个nar可以包含一个或多个能力(请参考能力开发指导手册了解平台结构)

ARTIFACTID影响什么

海量大数据平台下的能力包命名方式是nifi- ARTIFACTID -nar.nar,每个人注册的ARTIFACTID不能相同

ARTIFACTID要注意什么

在能力开始开发前需要使用nifi-processor-bundle-archetype生成工程结构,在此过程中ARTIFACTID即固定,所以需要先去能力中心注册能力,确认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.启动停止服务

  • Windows版: 运行 nifi-1.2.0\bin目录下的run-nifi.bat
  • Linux版: 运行nifi-1.2.0/bin目录下的nifi.sh,加参数start(./nifi.sh start)
  • Linux版上 将nifi安装为服务的命令为:./nifi.sh install,安装后用命令service nifi start启动即可。

三、开发过程

此过程以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功能为把配置的一个字符串或正则表达式替换为另一个字符串。

  • 为MyFirstProcessor添加属性、Relation、初始化函数、相关描述信息

输入图片说明

  • 添写onTrigger函数

输入图片说明

这样一个简单的Processor就开发完成了。

  1. 利用JUnit测试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上测试通过的代码可以上传到海量码云代码仓库,详情请见能力注册申请流程文档

使用eclipse创建工程

[ 展开 ]

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,导入工程。

输入图片说明
输入图片说明
输入图片说明

点击完成按钮,工程就导入成功了。

输入图片说明

能力注册升级指导手册

[ 展开 ]

注册成为开发者

  • 在海量大数据分析平台上注册账号登陆后,依次点击 能力 -> 进入能力中心 -> 进入开发者平台,填写开发者信息成为开发者

输入图片说明

注册能力

  1. 创建普通能力 (模板能力请参考模板能力说明

输入图片说明

输入图片说明

提示:开发之前 建议 先取好ARTIFACTID名字,再使用此名字进行能力开发,避免冲突

2、注册成功后参考能力开发指导手册开发代码上传码云

升级能力

1、开发者完成自测后,回到能力开发者页面升级上线能力
输入图片说明

点击升级填入必填项:

输入图片说明

能力上线必备物:

  • 能力在平台上展示的logo:要求60*60的png图片(建议图片内容跟能力功能相关)
  • 码云地址:工程根目录,例如https://gitee.com/hylandateam/LiShiShuJuZhaoHui
  • 类全路径:在工程资源文件的文档org.apache.nifi.processor.Processor里注册的类路径,例如com.hylanda.processors.lazyRetro.LazyRetroProcessor
  • 能力说明书地址:请参考能力说明书模板填写文档,尽量详尽可使用,文档放置到码云项目目录下,例如
    输入图片说明

建议将说明放在根目录的doc文件下,上图中能力说明书地址的是 码云工程根目录/doc/doc_AskAnswerComment.md ,注意此地址是以文件夹目录方式拼接而成,不是浏览器里打开的url地址

  • 发行版本:码云上的标签号,每次修改代码push到码云后,将当前要升级的代码new一个tag,使用此tag进行升级
  • 更新说明:本次升级内容

2、能力的状态说明

提交升级后,能力会变成【构建中】状态,构建完成大概需要1~3分钟,变成【构建成功】状态后无需开发者进行任何操作

输入图片说明

在能力查找页面按状态过滤时,开发者只需关注图中红框部分,非红框部分代表具体中间状态

  • 构建失败:能力编译打包失败,点击审核日志可查看到具体失败原因
  • 拒绝申请:本次升级请求被拒绝,点击审核日志可查看拒绝原因
  • 审核失败:代表本次升级影响到nifi的正常启动
  • 升级失败:异常情况,请联系管理员处理

页面当前版本号变成此次升级的版本号时,即代表升级成功,使用者在工作台点击升级按钮即可同步最新nar包

附加说明:

1、每天人工审核升级固定在16点,请在此之前提交申请,如需紧急升级请单独联系管理员

2、由于技术原因,升级不能全自动,管理员在审核通过后将联系开发者登陆指定画布验证此次升级,得到开发者确认后才会真正升级

模板能力说明

[ 展开 ]

注册模板能力

模板能力是一类使用模板工程的能力,它没有自己独立的nar包,通过模板的规则填入相应的参数使能力提供丰富的功能,目前主要用于海量内部团队的图形展示

输入图片说明

注册完能力后准备好能力必备附加物即可直接升级(参考能力注册升级指导手册里的能力升级必备)

能力构建升级Q&A

[ 展开 ]

平台如何构建工程

平台拉取 指定码云地址指定标签 下的代码(只用master分支),使用maven工具依赖码云地址根目录下的pom文件打包,标准pom文件如下:

输入图片说明

上图的pom文件在创建工程时自动生成,artifactId不允许改变,该pom文件打包出来的nar名字就是nar-crawl-nar.nar

一个工程包含多个能力怎么升级

只需升级其中任何 一个 能力,不允许多个能力使用同一个标签升级(即同一工程的标签为一次性的,使用后无论此次升级成功与否,下次都需要打新的标签)

预升级验证步骤

[ 展开 ]

此步骤即升级之前的预演,确保升级和能力提供商的预期相同,能力提供商在接到管理员通知后登陆平台验证功能,具体步骤:

  1. 登陆平台,进入个人中心,点击工作室,选择能力升级验证-工作室

输入图片说明

2、点击进入后将看到【能力升级验证任务】,点开后即可验证本次升级(管理员通知验证时已同步完nar包)

海量大数据分析平台  

GMT+8, 2024-5-20 07:45 , Processed in 0.032970 second(s), 9 queries .

返回顶部