Apache Liminal 操作指南
1. 项目目录结构及介绍
Apache Liminal 的目录结构通常包括以下几个关键部分:
.
├── airflow # 包含Apache Airflow的工作流定义和相关资源
├── liminal # Liminal的核心库和DSL语言实现
├── pipelines # 存放ML工作流定义的YAML文件
├── requirements.txt # 依赖项列表
└── scripts # 可执行脚本,例如部署和管理命令
airflow
目录是Apache Airflow的工作空间,其中包含了DAG(Directed Acyclic Graph)的定义。liminal
是Liminal的核心代码库,实现了对机器学习流程的操作化。pipelines
存储了以YAML格式描述的机器学习工作流配置文件,这些文件定义了从训练到部署的各个步骤。requirements.txt
文件列出了项目运行所需的Python包。scripts
中包含了一些用于操作和管理Liminal环境的脚本。
2. 项目启动文件介绍
Liminal 使用自定义的脚本来管理和启动服务。主要的命令有:
# 创建工作流
/path/to/liminal/code liminal create
# 部署工作流
cd /path/to/liminal/code
liminal deploy --clean # 推荐在升级后使用--clean以重建容器并保持一致性
# 启动服务器
liminal start
# 停止服务器
liminal stop
# 查看服务器日志
liminal logs --follow/--tail=<number_of_lines>
liminal create
用于创建一个新的工作流。liminal deploy
部署工作流,--clean
参数可以清除旧版本并确保更新后的容器一致性。liminal start
和liminal stop
分别用于启动和停止服务。liminal logs
提供日志查看功能,--follow
或-tail
参数可用于实时跟踪或查看指定数量的日志行。
3. 项目的配置文件介绍
Liminal 的主要配置文件是位于 pipelines
目录下的 YAML 文件,它们定义了完整的机器学习工作流。例如:
pipeline:
name: my_ml_pipeline
schedule: 0 * * * * # 每小时执行一次
tasks:
- name: data_cleanup
module: my_module.cleanup
params:
input_path: /data/input
output_path: /data/cleaned
- name: model_training
module: my_module.train
depends_on:
- data_cleanup
- name: model_deployment
module: my_module.deploy
depends_on:
- model_training
在这个例子中:
pipeline.name
定义了工作流的名称。schedule
设置了任务调度的时间间隔。tasks
列表中包含了多个步骤,每个步骤都有一个唯一的名称 (name
)、对应的函数模块 (module
) 和可选参数 (params
)。depends_on
字段指定了某个任务依赖于哪些前置任务,必须在这些任务完成后才会执行。
通过调整这些配置文件,你可以根据实际需求定制你的机器学习流水线。