我的计划:
问题:
我也乐于接受想法/建议/更好的方法!
答案 0 :(得分:0)
代替Luigi,使用Apache Airflow进行工作流程编排(代码用Python编写)。它内置了许多运算符和挂钩,您可以在其中调用DAG(工作流)。例如,创建任务以调用操作员来启动EMR集群,另一个任务是运行位于集群s3中的PySpark脚本,另一个任务是监视运行状态。您也可以使用任务来设置依赖项等。
答案 1 :(得分:0)
要直接回答您的问题,
1)是的,与其他任何库一样,Luigi在PySpark上的表现也不错。我们当然可以毫无问题地运行它-唯一的警告是,您必须对import
稍加注意,并将它们包含在Luigi类的函数中,因为在后台,它正在开发新的Python实例。
2)有多种方法可以使Luigi吞入数据流,但这很难完成。实际上,您将回到运行一个小时的cron周期来仅调用管道和流程以及新数据的过程。这种情况反映了Spotify在Luigi上的用例,在该用例中,他们每天执行工作来计算顶级艺术家等。
正如@RonD所建议的那样,如果我现在正在构建新的管道,我将跳过Luigi并直接进入AirFlow。如果没有其他问题,请查看发布历史记录。很长一段时间以来,Luigi并没有做过很多工作(因为它适用于主要开发人员)。而AirFlow正在积极地被Apache孵化。