Apache DolphinScheduler-MLflow集成指南
项目介绍
Apache DolphinScheduler-MLflow 是一个专为 Apache DolphinScheduler 设计的示例集合,旨在简化和标准化机器学习流程管理。此项目提供了丰富的 MLflow 示例,帮助用户在 DolphinScheduler 中高效构建、部署和跟踪机器学习工作流。MLflow 是一个开源平台,支持模型开发的生命周期管理,包括实验记录、模型版本控制和部署。
项目快速启动
准备阶段
确保你的环境已安装 Git 和 Docker 或符合 Apache DolphinScheduler 运行的基本要求。如果你需要在无法访问 Github 的环境中搭建,可以通过以下步骤进行:
-
克隆项目: 使用Git克隆
https://github.com/apache/dolphinscheduler-mlflow.git
到本地。git clone https://github.com/apache/dolphinscheduler-mlflow.git
-
配置DolphinScheduler: 在DolphinScheduler的配置文件中(例如
common.properties
),更新ml.mlflow.preset.repository
字段为你本地仓库的路径,假设你已将项目放置在/path/to/local/repo
。
启动DolphinScheduler
以DolphinScheduler 3.1.0为例,执行以下步骤启动服务:
-
设置环境变量(如果尚未设置):
echo "export PYTHON_HOME=$(dirname $(which conda))/python" >> /path/to/dolphinscheduler-3.1.0/bin/env/dolphinscheduler_env.sh
-
启动DolphinScheduler Standalone模式:
cd /path/to/dolphinscheduler-3.1.0-bin bash bin/dolphinscheduler-daemon.sh start standalone-server
-
查看日志确认服务启动:
tail -500f standalone-server/logs/dolphinscheduler-standalone.log
验证连接与使用
通过浏览器访问 http://localhost:12345/dolphinscheduler/ui
使用默认用户名(admin)及密码(dolphinscheduler123)登录。
应用案例与最佳实践
使用 MLflowProjectsCustom 来运行自定义MLflow项目作为示例:
-
编写或调整DolphinScheduler任务脚本,实例化并配置
MLFlowProjectsCustom
任务类型,指定你的MLflow项目仓库地址以及运行参数。例如:from pydolphinscheduler.tasks.mlflow import MLFlowProjectsCustom with Workflow(name="mlflow_custom_project") as workflow: train_task = MLFlowProjectsCustom( name="train_model", repository="https://github.com/mlflow/mlflow#examples/xgboost/xgboost_native", # 自定义仓库路径或本地仓库路径 mlflow_tracking_uri="http://localhost:5000", parameters="-P learning_rate=0.1", experiment_name="my-xgboost-experiment" )
-
提交并调度该工作流来执行你的MLflow项目。
典型生态项目
- DolphinScheduler 本身与 MLflow 结合,提供了一个强大的工作流编排能力,适合复杂的机器学习流水线。
- 整合 DVC (Data Version Control) 可进一步加强数据处理和模型版本的追踪能力,形成完整的数据科学项目管理流程。
- OpenMLDB 作为一个嵌入式时序数据库,可以在DolphinScheduler的任务中用于存储和查询模型评估指标,优化数据驱动的决策过程。
通过这些组合,开发者可以构建出高度可扩展且易于维护的机器学习工作流,利用DolphinScheduler的强大调度功能和MLflow的全面追踪特性,推动数据科学项目的迭代与发展。
创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考