处理makefile文件进行python数据分析的最新方法是什么?

问题描述 投票:0回答:1

我有一个DAG程序,可以处理并清除某些文件,将它们合并,然后进行其他计算。我想要一种方法来运行整个分析管道,并在有任何更改的情况下重新运行,而不必重新处理每个组件。

我阅读了有关Makefile的内容,并认为这听起来像是完美的解决方案。我也知道它可能已经过时,并且可能存在更好的替代方法,但是据我所知,我通常只会发现一大堆工作流程调度程序工具,这些工具不完全适合此目的(例如,Airflow,Luigi, Nextflow,Dagobah等,等等)

似乎其中许多功能对于计划程序,GUI等来说都是多余的,我并不需要。我只想要一个执行以下操作的文件:

  • 使所有需要运行的所有python脚本变得显而易见
  • 显示文件依赖关系,以便完全重新运行将仅重做上游已更改某些内容的部分
  • 具有进行某些并行化的潜力(不是很必要)
  • 没有太多样板

Makefile示例:

.PHONY : dats
dats : isles.dat abyss.dat

isles.dat : books/isles.txt
    python countwords.py books/isles.txt isles.dat

abyss.dat : books/abyss.txt
    python countwords.py books/abyss.txt abyss.dat

.PHONY : clean
clean :
    rm -f *.dat

这是在python中运行类似内容的最佳过程,还是有更好的方法?

python python-3.x makefile scheduled-tasks
1个回答
0
投票

这是在python中运行类似内容的最佳过程,还是有更好的方法?

“最佳”肯定在情人眼中。但是,如果问题中提出的基于make的方法可以令人满意地表示问题,则这是一种[好]的方式。 make实现非常广泛,其行为已广为人知,并且通常非常适合出现的问题。[还有其他与make竞争的构建工具,其中一些是用Python编写的,毫无疑问,还有一些更深奥的软件框架可以应用于该任务。但是,如果您想专注于完成工作而不是构建完成工作的框架,那么我看不出有什么理由可以超越已经拥有的基于make的解决方案。

© www.soinside.com 2019 - 2024. All rights reserved.