我有一系列脚本。有些在 R 中,有些在 Python 中,还有一些在 SAS 中。我以这样一种方式构建它们,即一个代码输出一个 .csv 文件,下一个代码获得该文件,然后该代码输出一个 .csv 文件,依此类推......
我想创建一个脚本,它会自动运行每个脚本,以便可以自动生成最终输出。
什么方法最适合这个,任何人都可以指出该过程的任何例子吗?
我有一系列脚本。有些在 R 中,有些在 Python 中,还有一些在 SAS 中。我以这样一种方式构建它们,即一个代码输出一个 .csv 文件,下一个代码获得该文件,然后该代码输出一个 .csv 文件,依此类推......
我想创建一个脚本,它会自动运行每个脚本,以便可以自动生成最终输出。
什么方法最适合这个,任何人都可以指出该过程的任何例子吗?
名义上,我只是尝试编写一个 bash 脚本(或 Windows 中的 powershell),然后将命令串在一起。但是,这种方法相当脆弱,因为事情会被覆盖,并且如果它是具有长批次的端到端过程。
在将相关任务串在一起时,我倾向于使用像 luigi 或气流这样的工作流包。Luigi 的想法是你可以将每个动作分解为一个任务。每个任务都有三个需要的功能。
所以基本上你只是链接一堆任务并定义你的运行函数来调用你以前构建的脚本使用类似子进程的东西。在需要时,您将参考最后一步,对于输出,您将指向文件正在写入的位置。
这样做的好处是,如果您的进程在 100 个任务中中断了第 50 个任务,您不必重新运行所有 50 个任务,luigi 将沿着依赖关系树向下走,直到它发现一个未满足的要求。