袁芳的学习笔记(6)基于Predix的在线分析服务

2023-10-12 22:20

本文主要是介绍袁芳的学习笔记(6)基于Predix的在线分析服务,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

作者:袁芳,北京华瑞特信息技术有限公司

 

如果您还没有Predix试用帐号,请访问https://supportcentral.ge.com/esurvey/GE_survey/takeSurvey.html?form_id=18446744073709715720申请。请务必准确提供您的信息,我们会以邮件方式通知您注册结果。

 

GE Predix平台的在线分析服务非常有特色,我个人觉得这也是GE做工业互联网云的最大优势,因为百年老店GE积累了大量的有价值的信息分析服务,这也正是其他企业所无法比拟的。今天我们参考官方教程(https://predix-io.run.aws-jp01-pr.ice.predix.io/resources/tutorials/journey.html#1615)记录如何向predix申请分析服务,并编写分析算法,借助predix运行分析服务。

 

一、通过Predix创建analytics-catalog-instance和analytics-runtime-instance(因为Predix一直在更新,所以此服务和图片可能不一致)

(1)通过predix控制台申请Analytics Catalog和Analytics Runtime,在创建服务中,请务必绑定UAA(UAA的创建可以参考之前的博客文章)


(2)下载一个前端示例工程

通过git命令下载示例程序:

git clone https://github.com/PredixDev/predix-nodejs-starter.git,详细参加之前的博客,本次借用之前创建的前端工程进行练习和纪录。以下按照命令将上一步创建的分析服务与前端进行绑定。

cf bind-serviceyf-predix-nodejs-starter yf-analytics-catalog-instance

cf restage yf-predix-nodejs-starter

cf env yf-predix-nodejs-starter,返回相关的predix-analytics-catalog环境变量如下所示:

"predix-analytics-catalog": [

{

"credentials": {

"catalog_uri":"https://predix-analytics-catalog-release.run.aws-jp01-pr.ice.predix.io",

"zone-http-header-name": "Predix-Zone-Id",

"zone-http-header-value":"0235f167-80f3-4578-964e-987549e4d892", 【此为Predix-Zone-Id的数值,重要】

"zone-oauth-scope":"analytics.zones.0235f167-80f3-4578-964e-987549e4d892.user" 【此为UAA授权信息,重要】

},

"label": "predix-analytics-catalog",
"name": "yf-analytics-catalog-instance",
"plan": "Bronze",
"provider": null,
"syslog_drain_url": null,
"tags": [],
"volume_mounts": []
}

],

-----------------------------------------------------------

cf bind-serviceyf-predix-nodejs-starter yf-analytics-runtime-instance

cf restage yf-predix-nodejs-starter

cf env yf-predix-nodejs-starter返回相关的predix-analytics-runtime环境变量如下所示:

"predix-analytics-runtime": [

{

"credentials": {

"config_uri":"https://predix-analytics-config-release.run.aws-jp01-pr.ice.predix.io",

"execution_uri": "https://predix-analytics-execution-release.run.aws-jp01-pr.ice.predix.io",

"monitoring_uri":"https://predix-analytics-monitoring-release.run.aws-jp01-pr.ice.predix.io",

"scheduler_uri": "https://predix-scheduler-service-release.run.aws-jp01-pr.ice.predix.io",

"zone-http-header-name": "Predix-Zone-Id",

"zone-http-header-value":"e9201bc2-9671-417e-8f2c-df562950e063", 【此为Predix-Zone-Id的数值,重要】

"zone-oauth-scope": "analytics.zones.e9201bc2-9671-417e-8f2c-df562950e063.user" 【此为UAA授权信息,重要】

},

"label": "predix-analytics-runtime",

"name": "yf-analytics-runtime-instance",

"plan": "Bronze",

"provider": null,

"syslog_drain_url": null,

"tags": [],

"volume_mounts": []

}

],

(3)打开UAA Dashboard,点击“Client Management”,此处我们选择并编辑app_client_id,在“scope”中,添加“analytics.zones.0235f167-80f3-4578-964e-987549e4d892.user”和“analytics.zones.e9201bc2-9671-417e-8f2c-df562950e063.user”,如图,保存并返回。



(4)在下图的client mangement页面中,在service instances面板中,我们看到新增的“yf-analytics-catalog-instance”和“yf-analytics-runtime-instance”两个模块,分别点击“Authorize Client”,并将app_client_id添加进去。


二、创建分析算法模块

(1)下载一个示例代码

git clone https://github.com/PredixDev/predix-analytics-sample.git

(2)使用maven编译打包,创建jar,该jar文件是一个算法,之后将通过predix tool kit上传到predix cloud
C:\Users\Administrator>cd predix-analytics-sample
C:\Users\Administrator\predix-analytics-sample>cd analytics
C:\Users\Administrator\predix-analytics-sample\analytics>cd demo-adder
C:\Users\Administrator\predix-analytics-sample\analytics\demo-adder>cddemo-adder-Java
C:\Users\Administrator\predix-analytics-sample\analytics\demo-adder\demo-adder-java>
mvn clean package

C:\Users\Administrator\predix-analytics-sample\analytics\demo-adder\demo-adder-java\target\demo-adder-java-1.0.0.jar

(3)按照路径打开DemoAdderJavaEntryPoint.java可以研读一下示例代码

C:\Users\Administrator\predix-analytics-sample\analytics\demo-adder\demo-adder-java\src\main\java\com\ge\predix\analytics\demo\java\DemoAdderJavaEntryPoint.java


(4)查阅算法配置

C:\Users\Administrator\predix-analytics-sample\analytics\demo-adder\demo-adder-java\src\main\resources\config.json

(5)以后可以自己参考这种模式编写自己的算法,切记一定要配置到config.json文件内

三、执行分析算法

(1)在之前创建的分析分析实例(AnalyticsCatalog instance)中创建一个分类项。访问https://predix-starter.run.aws-jp01-pr.ice.predix.io,选择右上角 API Explorer,选择左侧菜单的Login as Client. ,成功登录之后,选择Analytics Catalog,

在“Choose Request”中选择Create an analytic catalog entry ,输入predix-zone-id ,点击submit提交。返回结果:

{

"id": "b19f374c-600a-4e39-9a5e-c9076538ccab",<!--此为analyticCatalogEntryId后面要用-->

"name": "yf-analytics-catalog-instance",
"author": "John Doe",
"description": "This analytic does simple math",
"version": "v1",
"supportedLanguage": "Java",
"customMetadata":"{\"assetid\":\"abc\"}",
"taxonomyLocation": "/uncategorized",
"state": null,
"access": "FULL",
"createdTimestamp": "2016-12-24T15:01:43+00:00",
"updatedTimestamp": "2016-12-24T15:01:43+00:00"

}

 

(2)Choose Request: 中选择Get the list of analytics. ,填写predix-zone-id,点击Submit.  

 

(3)Choose request:选择Upload analytic. 在Form Values区域中,将demo-adder-java-1.0.0.jar上传, 在catalogEntryId输入框中,输入analyticCatalogId ,并添加 predix-zone-id, ,点击submit,并自行保存一下结果,因为里面的id数值后面会用到。


(4)Choose request: 选择 Validate analytic. 在POST的 URL中,把地址后面的analyticCatalogEntryId 填充一下,点击submit提交,并自行保存结果,其中的 validationRequestId后面会用到。

结果:

{

"analyticId": "b19f374c-600a-4e39-9a5e-c9076538ccab",
"validationRequestId":"e75d27c2-8d69-41c9-9198-51cf35a56467",<!--后面要用到  重要-->

"status": "QUEUED",

"message": "Analytic validation request successfullyqueued - reference request id is e75d27c2-8d69-41c9-9198-51cf35a56467 forcatalog entry id b19f374c-600a-4e39-9a5e-c9076538ccab",
"inputData": "{\"number1\":700,\"number2\":800}",

"result": null,
"createdTimestamp": "2016-12-24T15:09:28+00:00",
"updatedTimestamp": "2016-12-24T15:09:28+00:00"
}


(5)Choose request:选择 Get analytic result. 在 GET的 URL,中替换两个字符串 ,分别是  analyticCatalogEntryId和request id ,点击submit,结果中的result就是计算结果。

eg:GETURL=https://predix-analytics-catalog-release.run.aws-jp01-pr.ice.predix.io/api/v1/catalog/analytics/b19f374c-600a-4e39-9a5e-c9076538ccab/validation/e75d27c2-8d69-41c9-9198-51cf35a56467


(6)Choose request:选择Deploy analytic.在 POST 的URL,替换填充 analyticCatalogEntryId,点击 Submit.并将结果自行保存么,待后面使用resultid。

eg:POSTURL=https://predix-analytics-catalog-release.run.aws-jp01-pr.ice.predix.io/api/v1/catalog/analytics/b19f374c-600a-4e39-9a5e-c9076538ccab/deployment


(7)Choose request: 选择Check deployment status. 在GET 的URL中,替换两个字符串,分别为 analyticCatalogEntryId和deployment requestid点击 Submit.。

eg:GET URL=https://predix-analytics-catalog-release.run.aws-jp01-pr.ice.predix.io/api/v1/catalog/analytics/b19f374c-600a-4e39-9a5e-c9076538ccab/deployment/73722e28-4346-4bf8-913c-0555ede6c103


(8)Choose request:选择 Execute Analytic.  此处请求执行一个分析或者设置BPMN的配置,BPMN ( Business Process Modeling Notation)描述如何在predix的分析执行运行环境中定义分析工作流

例如:在这个工作流中,这里两个数字相加的算法命名为DemoAdder Analytic 。修改一下Request Body 中的BPMN XML ,搜索一下serviceTask字符串,找到位置,将现在的示例数值替换为上面的analyticcatalog entry id=b19f374c-600a-4e39-9a5e-c9076538ccab,点击submit执行分析流程,即可在result获取结果 25 and 29.


参考

https://predix-io.run.aws-jp01-pr.ice.predix.io/resources/tutorials/journey.html#1615

在使用中您有任何问题,请访问我们的论坛http://bbs.csdn.net/forums/GEPredix

GE数字集团的技术专家们会在线回答您的问题。

也请访问我们在CSDN的Predix专区http://predix.csdn.net 了解更多Predix的内容和相关活动。

 

这篇关于袁芳的学习笔记(6)基于Predix的在线分析服务的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/198829

相关文章

HarmonyOS学习(七)——UI(五)常用布局总结

自适应布局 1.1、线性布局(LinearLayout) 通过线性容器Row和Column实现线性布局。Column容器内的子组件按照垂直方向排列,Row组件中的子组件按照水平方向排列。 属性说明space通过space参数设置主轴上子组件的间距,达到各子组件在排列上的等间距效果alignItems设置子组件在交叉轴上的对齐方式,且在各类尺寸屏幕上表现一致,其中交叉轴为垂直时,取值为Vert

Ilya-AI分享的他在OpenAI学习到的15个提示工程技巧

Ilya(不是本人,claude AI)在社交媒体上分享了他在OpenAI学习到的15个Prompt撰写技巧。 以下是详细的内容: 提示精确化:在编写提示时,力求表达清晰准确。清楚地阐述任务需求和概念定义至关重要。例:不用"分析文本",而用"判断这段话的情感倾向:积极、消极还是中性"。 快速迭代:善于快速连续调整提示。熟练的提示工程师能够灵活地进行多轮优化。例:从"总结文章"到"用

水位雨量在线监测系统概述及应用介绍

在当今社会,随着科技的飞速发展,各种智能监测系统已成为保障公共安全、促进资源管理和环境保护的重要工具。其中,水位雨量在线监测系统作为自然灾害预警、水资源管理及水利工程运行的关键技术,其重要性不言而喻。 一、水位雨量在线监测系统的基本原理 水位雨量在线监测系统主要由数据采集单元、数据传输网络、数据处理中心及用户终端四大部分构成,形成了一个完整的闭环系统。 数据采集单元:这是系统的“眼睛”,

【前端学习】AntV G6-08 深入图形与图形分组、自定义节点、节点动画(下)

【课程链接】 AntV G6:深入图形与图形分组、自定义节点、节点动画(下)_哔哩哔哩_bilibili 本章十吾老师讲解了一个复杂的自定义节点中,应该怎样去计算和绘制图形,如何给一个图形制作不间断的动画,以及在鼠标事件之后产生动画。(有点难,需要好好理解) <!DOCTYPE html><html><head><meta charset="UTF-8"><title>06

学习hash总结

2014/1/29/   最近刚开始学hash,名字很陌生,但是hash的思想却很熟悉,以前早就做过此类的题,但是不知道这就是hash思想而已,说白了hash就是一个映射,往往灵活利用数组的下标来实现算法,hash的作用:1、判重;2、统计次数;

性能分析之MySQL索引实战案例

文章目录 一、前言二、准备三、MySQL索引优化四、MySQL 索引知识回顾五、总结 一、前言 在上一讲性能工具之 JProfiler 简单登录案例分析实战中已经发现SQL没有建立索引问题,本文将一起从代码层去分析为什么没有建立索引? 开源ERP项目地址:https://gitee.com/jishenghua/JSH_ERP 二、准备 打开IDEA找到登录请求资源路径位置

电力系统中的A类在线监测装置—APView400

随着电力系统的日益复杂和人们对电能质量要求的提高,电能质量在线监测装置在电力系统中得到广泛应用。目前,市场上的在线监测装置主要分为A类和B类两种类型,A类和B类在线监测装置主要区别在于应用场景、技术参数、通讯协议和扩展性。选择时应根据实际需求和应用场景综合考虑,并定期维护和校准。电能质量在线监测装置是用于实时监测电力系统中的电能质量参数的设备。 APView400电能质量A类在线监测装置以其多核

零基础学习Redis(10) -- zset类型命令使用

zset是有序集合,内部除了存储元素外,还会存储一个score,存储在zset中的元素会按照score的大小升序排列,不同元素的score可以重复,score相同的元素会按照元素的字典序排列。 1. zset常用命令 1.1 zadd  zadd key [NX | XX] [GT | LT]   [CH] [INCR] score member [score member ...]

【区块链 + 人才服务】可信教育区块链治理系统 | FISCO BCOS应用案例

伴随着区块链技术的不断完善,其在教育信息化中的应用也在持续发展。利用区块链数据共识、不可篡改的特性, 将与教育相关的数据要素在区块链上进行存证确权,在确保数据可信的前提下,促进教育的公平、透明、开放,为教育教学质量提升赋能,实现教育数据的安全共享、高等教育体系的智慧治理。 可信教育区块链治理系统的顶层治理架构由教育部、高校、企业、学生等多方角色共同参与建设、维护,支撑教育资源共享、教学质量评估、

【机器学习】高斯过程的基本概念和应用领域以及在python中的实例

引言 高斯过程(Gaussian Process,简称GP)是一种概率模型,用于描述一组随机变量的联合概率分布,其中任何一个有限维度的子集都具有高斯分布 文章目录 引言一、高斯过程1.1 基本定义1.1.1 随机过程1.1.2 高斯分布 1.2 高斯过程的特性1.2.1 联合高斯性1.2.2 均值函数1.2.3 协方差函数(或核函数) 1.3 核函数1.4 高斯过程回归(Gauss