如何处理Spring云数据流中的全局资源?

时间:2017-03-03 18:14:33

标签: spring-cloud-stream spring-cloud-dataflow spring-cloud-task

我正在学习Spring云数据流的概念,并想知道存储全局资源的常用方法是什么。

例如,当我有一个pmml-processor的流时,我想通过spring-cloud-task定期重新训练基础pmml模型。

我在哪里存储模型,以便它可以被处理器用作(只读)资源并且每晚都由任务更新?春天云数据流中是否存在全局存储的概念? 我应该只使用spring-cloud之外的传统数据库还是有更好的方法?

2 个答案:

答案 0 :(得分:2)

Spring Cloud Data Flow本身没有共享存储的一般概念,但用于为PMML处理器提供模型的Spring Resource非常灵活(参见http://docs.spring.io/spring/docs/current/spring-framework-reference/html/resources.html,特别是表8.1)可以用于pmml.model-location参数的一些路径选项。所以有几个开箱即用的选项:

  • 使用共享文件系统(可以通过file://协议访问);
  • 将模型存储在可通过HTTP作为静态资源的可访问位置;

其他选项(需要在应用程序中包含其他jar)可用于S3(通过https://cloud.spring.io/spring-cloud-aws/)和HDFS(通过Spring for Apache Hadoop - 请参阅http://docs.spring.io/spring-hadoop/docs/current/reference/htmlsingle/#using-hdfs-resource-loader)。

答案 1 :(得分:0)

我遇到了类似的问题,最终我用它来解决它

https://docs.spring.io/spring/docs/current/spring-framework-reference/core.html#resources-resourceloader

groovy-transform --script=file:///root/apps/script.groovy

感谢Marius Bogoevici。