如何创建一个Analytics Framework的服务

来源:互联网 发布:win8网络连接受限 编辑:程序博客网 时间:2024/06/11 20:36

作者:史春奇,数据科学家,GE数字集团

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


我们知道, 很多时候, 一个应用相关的数据, 需要进行分析展示, 而这个分析可以利用AnalyticsFramework来完成。 在创建Analytics服务之前, 需要你有一个App服务了, 同时也一个UAA服务了。

 

在之前的Analytics Catalog服务中, 我们要分别创建3个服务Catalog Service,Runtime Service 和 UI 。 如今, 全部由Framework取代了。 极大方便了分析服务的部署。 


Analytics Framework主要包括Catalog, Runtime, UI 三大子部分。 一般会把自己生成的分析包放到Catalog中, 然后配置好Runtime的输入输出进行调用。有需求的话, 还需要进行Orchestration和Scheduling。  




实现一个Analytics服务有两种方式, 一种是通过命令行方式, 另外一种是通过Predix Console。  这里我们主要介绍命令行的方式。

 

首先要创建一个AnalyticsFramework service, 通过cf creat-service创建服务


cf create-service predix-analytics-framework <plan> <my_framework_instance> -c 
'{ "trustedIssuerIds": [ "<uaa_instance_issuerId>" ], "runtimeClientId": "<my_runtime_client_id>", "runtimeClientSecret": "<my_runtime_client_secret>", "predixAssetZoneId": "<my_predix_asset_zone_id>", "predixTimeseriesZoneId": "<my_predix_timeseries_zone_id>", "uiDomainPrefix": "<my_ui_domain_prefix>", "uiClientId": "<my_ui_client_id>", "uiClientSecret": "<my_ui_client_secret>" }'

对应的参数包括UAA, Runtime, 数据(Asset 或者Timeseries)还有UI。

1.    trustedIssuerIds: UUA对应instance

2.     runtimeClientIdruntimeClientSecret : 是Scheduler对应UAA client的id和 UAA clientsecret 

3.     predixAssetZoneIdpredixTimeseriesZoneId: 是访问的asset或者timeseries对应的zoneid。

4.     uiDomainPrefixuiClientIduiClientSecret 是对应的Analytics Library UI对应URL IDSecret

 

 

创建完成这个服务之后, 我们就要把这个服务和App绑定起来。


cf bind-service <app_name> <my-framework-instance>

绑定完成之后, 你可以通过

cf env <app_name>

命令来确认”predix-analytics-framewor”, 这样我们可以查看到对应配置


{
 "VCAP_SERVICES": {
  "predix-analytics-framework": [
   {
    "credentials": {
     "catalog_uri": "<catalog_uri>",
     "config_uri": "<config_uri",
     "configurations": {
      "predix_asset_zone_id": "<my_asset_zone_id>",
      "predix_timeseries_zone_id": "<my_timeseries_zone_id>",
      "runtime_client_id": "<my_runtime_client_id>",
      "trusted_issuer_ids": "<my_trusted_issuer_id>",
      "ui_client_id": "<my_ui_client_id>",
      "ui_uri": "<my_ui_uri>"
     },
     "execution_uri": "<execution_uri>",
     "monitoring_uri": "<monitoring_uri>",
     "scheduler_uri": "<scheduler_uri>",
     "zone-http-header-name": "Predix-Zone-Id",
     "zone-http-header-value": "<my_predix_zone_id>",
     "zone-oauth-scope": "analytics.zones.<my_predix_zone_id>.user"
    },
    "label": "predix-analytics-framework",
    "name": "<my_framework_instance>",
    "plan": "Tiered",
    "provider": null,
    "syslog_drain_url": null,
    "tags": [],
    "volume_mounts": []
   }
  ]
 }
}


这样, 基本完成一个Analytics Service的创建和绑定了。 这里有一个 https://github.com/PredixDev/predix-analytics-sample 的实例, 大家可以试试来着。


最后, 在新的Framework框架下, 专门针对时间序列数据, 还开发了Event Stream Processing 和 Anomaly Detection Service,使得开发更为方便。 希望大家持续关注后续更新。 



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

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

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




 
阅读全文
0 0
原创粉丝点击