首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >Airflow + Kubernetes VS Airflow + Spark

Airflow + Kubernetes VS Airflow + Spark
EN

Stack Overflow用户
提问于 2018-10-11 11:38:58
回答 2查看 1.9K关注 0票数 1

就像我之前读过的一篇文章。它说,在新的Kubernetes版本中,已经包含了Spark功能。但是有一些不同的方式,比如用KubernetesPodOperator代替BashOperator / PythonOperator来做SparkSubmit。

合并Airflow + Kubernetes的最佳实践是移除Spark并使用KubernetesPodOperator执行任务吗?

它有更好的性能,因为Kubernetes有Spark没有的AutoScaling。

我需要一个专家在Kubernetes帮助我解释这一点。对于Kubernetes、Spark和Airflow这些东西,我还是个新手。:slight_smile:

谢谢。

EN

回答 2

Stack Overflow用户

发布于 2018-10-11 12:37:08

新的Kubernetes版本中的

已经包含了Spark功能

我觉得你把它弄反了。Spark的新版本可以在Kubernetes集群中运行任务。

使用KubernetesPodOperator而不是BashOperator / PythonOperator来执行SparkSubmit

使用Kubernetes将允许您运行具有任何您想要的隔离依赖项的容器。

含义

对于

  • BashOperator,您必须将文件分发到某个共享文件系统或所有运行气流任务的节点。例如,spark-submit必须在所有风流节点上都可用。
  1. 与Python类似,您可以发布一些包含pip/conda依赖环境

的zip或egg文件。

移除Spark并使用KubernetesPodOperator执行任务

仍然有很好的理由使用Airflow运行Spark,但相反,您需要打包一个Spark驱动容器,以便在容器内针对Kubernetes集群执行spark-submit。这样,您只需要安装docker,而不是Spark (以及所有依赖项)

Kubernetes拥有Spark所没有的AutoScaling

Spark确实有Dynamic Resource Allocation...

票数 3
EN

Stack Overflow用户

发布于 2019-10-22 23:37:46

另一个可能对您有帮助的解决方案是将Apache Livy on Kubernetes (PR:https://github.com/apache/incubator-livy/pull/167)与Airflow HttpOperator一起使用。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52751805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档