如何創建一個Analytics Framework的服務

作者:史春奇,數據科學家,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的內容和相關活動。





發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章