大数据编排框架( 三 )


· 我不确定我需要什么 。在这种情况下 , 请从Airflow开始 , 因为它是最受欢迎的选择 。
结论我们似乎是一些最常见的业务流程框架 。如您所见 , 它们中的大多数将DAG用作代码 , 因此您可以在将新的工作流程投入生产之前在本地进行测试 , 调试管道并对其进行正确的测试 。考虑本文讨论的所有功能 , 并选择最适合该工作的工具 。
简而言之 , 如果您的需求只是编排不需要共享数据的独立任务 , 并且/或者您的工作很慢 , 并且/或者您不使用Python , 请使用Airflow或Ozzie 。对于需要数据沿袭和跟踪的数据流应用程序 , 请对非开发人员使用NiFi; 或Dagster或Prefect(适用于Python开发人员) 。
在可能的情况下 , 请尝试使工作保持简单并在Orchestrator外部管理数据依赖关系 , 这在Spark中很常见 , 在Spark中您将数据保存到深度存储中而不传递 。在这种情况下 , Airflow是一个不错的选择 , 因为它不需要跟踪数据流 , 并且您仍然可以使用XCOM传递小的元数据 , 例如数据的位置 。对于更小 , 运行速度更快 , 基于python的作业或更多动态数据集 , 您可能希望在Orchestrator中跟踪数据依赖性并使用Dagster之类的工具 。
参考文献[1]
[2]
[3]
[4]
[5]
希望您喜欢这篇文章 。随时发表评论或分享这篇文章 。跟我来以后的帖子 。
(本文翻译自Daan的文章《Orchestration Frameworks for Big Data》 , 参考:)