Netflix的Metaflow与Apache Airflow比较

3
我有一个关于Apache Airflow和Metaflow(https://docs.metaflow.org/)之间差异的问题。据我所知,Apache Airflow只是一个作业调度程序,用于运行任务。来自Netflix的Metaflow是一个数据流库,它以DAG的形式创建机器学习管道(数据流可用)。基本上这意味着Metaflow可以在Apache Airflow上执行?
我的理解正确吗? 如果是的话,是否可能将Metaflow DAG转换为Apache Airflow DAG?
1个回答

4
老实说,我还没有使用过Metaflow,并感谢你向我介绍它!你可以在Youtube上找到一个不错的介绍视频
Airflow是创建定时管道的框架。管道是一组链接在一起的任务,代表一个有向无环图。管道可以安排计划,您可以告诉它运行的频率或时间,您可以告诉它过去应该运行的时间段以及应该如何回溯。您可以将整个Airflow作为一个单个Docker容器运行,也可以拥有多节点集群,它具有许多现有的操作者,可与第三方服务集成。我建议您查看Airflow体系结构概念
Metaflow看起来类似,但专为数据科学家创建。我可能在这里说错了,但看着Metaflow基础知识,它看起来可以像Airflow一样创建定时管道。
我建议您查看要集成的特定工具以及两者哪个更好地集成。如上所述,Airflow具有许多已经制作好的连接器和操作者,以及强大的调度程序、回溯和Jinja模板语言,可设计您的DB查询(点击此处输入链接说明)
希望这对你有所帮助。 这里还有一篇很好的文章,介绍了特点比较。

1
谢谢您的回答!看起来Airflow和Metaflow之间的主要区别是,Metaflow允许步骤之间的数据流。我正在寻找一种数据流引擎,可以集成到Airflow中,并认为使用Metaflow可能是可行的。 - Daniel Yefimov
1
这是您要找的吗?https://www.astronomer.io/guides/airflow-passing-data-between-tasks - andnik
1
有类似的解决方案,但这不是最优方法,因为如果数据大于2GB,它将无法工作。 - Daniel Yefimov
1
是的,针对这个问题,如果你在一台机器上运行任务,我建议使用本地存储(SQLite 或任意文件格式),或者选择外部存储,例如 S3。 - andnik

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接