可重复使用的数据分析工作流服务器(核心基础设施)
flowserv-core的Python项目详细描述
关于
此存储库包含可复制和可重用数据分析工作流服务器(flowServ)的核心基础设施的实现。这是一个实验原型,支持重用和评估已发布的数据分析管道以及数据分析算法的社区基准。flowServ还不是另一个工作流引擎。其目的是在客户端(如Web用户界面)和工作流引擎之间提供一个层,以便于执行已定义的工作流模板(如下图所示)。flowServ设计为独立于底层工作流引擎。在
工作流模板包含用户提供的工作流步骤和/或输入数据和参数的占位符(例如,通过提供满足工作流步骤的Docker容器或上载输入数据文件)。flowServ针对给定的输入值触发和监视工作流的执行,并维护工作流结果。API提供了提交新工作流运行和检索已完成工作流运行的评估结果的功能。在
flowServ的动机是Reproducible Open Benchmarks for Data Analysis Platform (ROB)。ROB的目标是允许用户社区以受控竞争风格的格式评估其不同数据分析算法的性能。在ROB中,基准协调器定义工作流模板和输入数据。基准测试参与者提供他们自己的可变workfow步骤的实现。工作流引擎在提交时处理工作流。执行结果由flowServ在内部数据库中维护。flowServ的目标是成为一个更通用的平台,不仅可以用于基准测试,还可以用于其他类型的数据分析工作流。在
更多信息
工作流模板的目标是允许用户运行预定义的数据分析工作流,同时提供自己的输入数据、参数以及自己的代码模块。工作流模板受Reproducible Research Data Analysis Platform (REANA)工作流规范的启发,但不限于此。Workflow Templates Section提供有关模板及其语法的进一步信息。flowServ使用这些模板来运行工作流和维护基准测试结果。在
flowServAPI定义主接口,以编程方式与底层数据库和工作流引擎交互。此存储库中包含的API实现提供了所有API资源的默认序列化,作为Python字典。该API旨在供Web应用程序使用。这些应用程序可以使用不同的框架构建。current default Web API implementation for ROB使用Flask web framework。在
ROB目前提供了两个不同的接口来与webapi交互:即Command Line Client和{a10}。有关如何安装和使用这些接口的更多信息,请参见相应的存储库。在
关于ROB的概述,有来自Moore-Sloan Data Science Environment’s annual summit 2019的ROB演示中的slides和在{a14}上的{a13}。在
注意
flowServ源于可复制的开放基准数据分析平台(ROB)。这个存储库取代了ROB早期版本中的Workflow Templates和{a16}。在
- 项目
标签: