65.9K
CodeProject 正在变化。 阅读更多。
Home

充分利用 Predix 分析服务的最佳实践

emptyStarIconemptyStarIconemptyStarIconemptyStarIconemptyStarIcon

0/5 (0投票)

2017 年 1 月 18 日

CPOL

5分钟阅读

viewsIcon

14177

在开始使用 Predix 分析服务创建分析时,需要注意以下几点,从准备数据本身到在生产环境中部署分析。

Predix 是 GE 面向工业互联网的应用平台。Predix 基于 Cloud Foundry 构建,针对云端和边缘的大规模安全连接和分析进行了优化。

全球有数千名开发人员利用 Predix 分析服务 来创建和部署高级业务分析应用程序,因此我们认为,开始介绍的最佳实践是关于充分利用分析服务中所有工具的。

在创建分析时,需要注意以下几点,从准备数据本身到在生产环境中部署分析。

开发分析

在 Predix 分析服务中创建和使用分析的一般流程是,使用您选择的 SDK,在本地环境中以支持的语言之一(Python、Matlab 或 Java)开发分析。此时,无需担心安全性、REST 入口点等。一旦分析在本地环境中按预期运行,您就可以将该分析上传并部署到 Predix 分析目录中。

通过这样做,分析平台将封装您的分析,添加安全性、REST 入口点等,然后将其部署到 Predix 云。

之后,您可以通过三种不同的方式运行云端部署的分析。REST API 允许您从 Predix 分析目录中运行分析,并且/或者您可以通过 Predix 分析运行时管理计划运行的分析。最后,在第三季度的版本中,我们增加了用于同步和异步模式下直接执行分析微服务的 API。因此,您可以构建最适合部署和消耗这些分析微服务的方式的应用程序。以下段落重点介绍了分析开发和使用的最佳实践。

将分析发布到分析目录

第一步是封装分析的形式和功能。目录服务中的每个分析在部署时都将成为一个微服务。因此,需要遵循基于微服务架构创建应用程序的最佳实践。分析应处理每个输入并产生输出,而不读取在数据服务中后续调用之间持久化的状态信息。因此,我们说您不希望在分析代码中从数据库或文件系统中读取/写入状态信息。分析在调用之间需要是无状态的,或者换句话说,必须将必要的状态信息作为输入在分析执行时传递。

在本地环境中编写和调试完分析后,您将准备将其上传到 Predix 分析目录。您的分析需要有一个入口点,并具有明确定义的输入结构和输出 JSON 结构。(所有分析都应产生某种形式的输出,即使只是一个简单的分数。没有输出,开发人员为什么要在应用程序中使用您的分析?)平台将通过 JSON 输入结构与您的分析进行通信,并期望它返回 JSON 输出结构。JSON 输入/输出的内部结构是每个分析自定义的。

为了方便起见,该平台提供了一个处理时间序列值表的模板。在 predix.io 文档 中提供了准备分析的说明。也提供了支持语言的示例分析,地址为 https://github.com/PredixDev/predix-analytics-sample

使用 Predix 分析服务的一个巨大优点是您不必担心安全性,因为 Predix 会自动处理。Predix 处理的其他项目包括将分析变成 REST 服务以及访问云端的分析日志。遵循封装说明后,您可以将可执行文件/脚本上传到 Predix 分析目录。然后,您可以使用 Predix 分析用户界面或 Predix 分析目录服务的 API 将分析部署到 Predix 云并进行验证。

准备分析以进行验证、发布和执行

现在,您的分析已准备好投入生产。在第三季度版本中,Predix 分析运行时正在引入对多个分析的编排的支持,通过内存传输中间数据从一个编排步骤到下一个步骤。您将创建一个 BPMN 文件来定义将在每个步骤中运行的分析,然后编写一个外部触发器来收集每个分析所需的数据并分发其结果。最后,您将运行 BPMN 编排,可能使用 Predix 时间序列数据,针对单个资产或资产组。编排事件会报告给我们的监控服务。

支持机器学习

值得一提的是,在我们的第三季度版本中,Predix 分析运行时正在引入对机器学习和其他有状态分析的支持。基于机器学习的分析必须已离线训练。训练好的模型可以作为输入提供给分析,并用于提供多个预测。同样,任何有状态的分析可以在触发时恢复其状态作为输入,并在执行结束时将其更新的状态作为输出保存。在这两种情况下,无状态的微服务都将其状态作为输入来处理。

我们认识到在机器学习支持方面仍有大量工作要做。在不久的将来,我们在生产环境中从大型数据集构建的模型将配置为易于与分析服务集成,并且可以根据新数据进行定期更新。需要在规模化运行的机器学习阶段与在分析运行时基于不同版本的训练模型提供的预测之间实现无缝集成。我们将通过持续交付与主要版本里程碑一致的新功能来不断扩展我们的能力。

虽然这些考虑因素对于准备分析非常有用,但我们鼓励所有开发人员访问我们的 Predix 分析服务 概览页面。这一系列资源提供了关于每个步骤的更多详细信息,以及具体的示例来向您展示如何完成。

您可以在此处 注册 Predix 账户,并开始使用此教程在 Predix.io 上利用 Predix 分析服务。

© . All rights reserved.