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

How to handle global resources in spring cloud dataflow?

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

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

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

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

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

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

我遇到了类似的问题,最后我用它来修复它

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

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

谢谢 Marius Bogoevici。