气流+芹菜或dask。为了什么,什么时候?
Airflow + celery or dask. For what, when?
我阅读了 Airflow 官方文档 the following:
这到底是什么意思?作者所说的横向扩展是什么意思?也就是说,何时 还 不足以使用 Airflow 还是什么时候有人会使用 Airflow 与 Celery 之类的东西结合使用? (dask
相同)
在 Airflow 术语中,"Executor" 是负责 运行 执行任务的组件。 LocalExecutor
通过在 Airflow 运行 开启的计算机上生成线程并让线程执行任务来做到这一点。
您的容量自然会受到本地计算机上可用资源的限制。 CeleryExecutor
将负载分配给几台机器。执行器本身将执行任务的请求发布到队列中,然后几个工作节点中的一个接收到该请求并执行它。您现在可以扩展工作节点集群以增加整体容量。
最后,还没有准备好,KubernetesExecutor
正在制作中 (link)。这将在 Kubernetes 集群上执行 运行 个任务。这不仅可以让您的任务完全隔离,因为它们 运行 在容器中,您还可以利用 Kubernetes 中的现有功能,例如自动扩展您的集群,以便您始终拥有最佳数量的可用资源。
您可能会喜欢阅读 dask 与 celery/airflow 任务管理器的比较 http://matthewrocklin.com/blog/work/2016/09/13/dask-and-celery
既然你不是在问一个具体的问题,像这样的一般阅读应该是有益的,也许你可以弄清楚你在问什么。
-编辑-
一些最近接触这个的人可能希望研究 prefect,这是一种考虑到 dask 的重写气流(来自 open-source 具有付费企业功能的核心)。
根据@mdurant 的回答,这是我用 3 个使用 Dask 的 Airflow DAG 示例编写的教程。希望这能让您了解何时以及如何将 Dask 与 Airflow 一起使用。
我阅读了 Airflow 官方文档 the following:
这到底是什么意思?作者所说的横向扩展是什么意思?也就是说,何时 还 不足以使用 Airflow 还是什么时候有人会使用 Airflow 与 Celery 之类的东西结合使用? (dask
相同)
在 Airflow 术语中,"Executor" 是负责 运行 执行任务的组件。 LocalExecutor
通过在 Airflow 运行 开启的计算机上生成线程并让线程执行任务来做到这一点。
您的容量自然会受到本地计算机上可用资源的限制。 CeleryExecutor
将负载分配给几台机器。执行器本身将执行任务的请求发布到队列中,然后几个工作节点中的一个接收到该请求并执行它。您现在可以扩展工作节点集群以增加整体容量。
最后,还没有准备好,KubernetesExecutor
正在制作中 (link)。这将在 Kubernetes 集群上执行 运行 个任务。这不仅可以让您的任务完全隔离,因为它们 运行 在容器中,您还可以利用 Kubernetes 中的现有功能,例如自动扩展您的集群,以便您始终拥有最佳数量的可用资源。
您可能会喜欢阅读 dask 与 celery/airflow 任务管理器的比较 http://matthewrocklin.com/blog/work/2016/09/13/dask-and-celery
既然你不是在问一个具体的问题,像这样的一般阅读应该是有益的,也许你可以弄清楚你在问什么。
-编辑-
一些最近接触这个的人可能希望研究 prefect,这是一种考虑到 dask 的重写气流(来自 open-source 具有付费企业功能的核心)。
根据@mdurant 的回答,这是我用 3 个使用 Dask 的 Airflow DAG 示例编写的教程。希望这能让您了解何时以及如何将 Dask 与 Airflow 一起使用。