当前位置: 首页 > 工具软件 > Google Spark > 使用案例 >

Google宣布为Apache Spark推出Kubernetes Operator

燕翼
2023-12-01

Google宣布为Apache Spark推出Kubernetes Operator

“Spark Operator”测试版允许在Kubernetes集群上执行原生Spark应用程序——不需要Hadoop或Mesos。

 

Apache Spark是一个非常流行的执行框架,通常用在数据工程和机器学习领域。支撑Databricks平台的即是Apache Spark,Spark可部署在企业内部数据中心或者基于云的Hadoop服务上,如Azure HDInsightAmazon EMRGoogle Cloud Dataproc。当然,也可以部署在Mesos集群上。

无需Mesos,也没有Hadoop YARN集群,你想要在Kubernetres(k8s)集群上运行你的Spark工作负载吗?虽然Spark早在2.3版本中就增加了专门针对Kubernetes的功能,并在2.4版本中进行了改进,但是以完全集成的方式在k8s上运行原生Spark仍然是一个挑战。

Kube operator

今天,创建了Kubernetes的Google首先宣布推出针对Apache Spark的Kubernetes Operator测试版——简称“Spark operator”。Spark Operator允许在k8s集群上运行原生Spark,从而允许Spark应用程序——无论是用于分析、数据工程还是机器学习——就像任何Spark实例一样部署到这些集群。

Spark Operator架构

根据Google的说法,Spark Operator是一个Kubernetes自定义控制器,它使用自定义资源(CRDs)来处理Spark应用程序的声明性规范;它还支持自动重启和基于cron的计划性批处理应用。此外,开发人员、数据工程师和数据科学家可以创建描述其Spark应用程序的声明性规范,并使用原生Kubernetes工具(例如kubectl)来管理其应用。

Spark现状

在Google Cloud Platform(GCP)的Kubernetes市场上,通过 Google Click to Deploy容器的形式即可使用Spark Operator,从而可以轻松将Spark部署到Google Kubernetes Engine(GKE)。但Spark Operator是一个开源项目,可以部署到任何Kubernetes环境,项目的GitHub站点(https://github.com/GoogleCloudPlatform/spark-on-k8s-operator)提供了基于Helm charts的命令行安装说明

看看亚马逊和微软等公司是否拥抱并为自己的Kubernetes服务(分别为Elastic Container Service/EKS和Azure Kubernetes Service / AKS)提供Spark Operator的简单部署将会很有趣。这种做法,对于不希望承担EMR、HDInsight或Databricks工作空间和集群开销的客户来说,肯定是一项很好的服务。

Hadoop怎么办呢?

由于很多非Databricks 的Spark集群实际上都运行在Hadoop上,因此Spark Operator的发布引发了Hadoop的影响是否正在减弱的问题。不过,Hadoop团队到是也没坐以待毙。例如,  Open Hybrid Architecture Initiative  项目就在专注于Hadoop的容器化。此外,Hadoop 3.2 上周刚刚发布,除其他功能外,还包括了对Tensorflow的原生支持,与Azure Data Lake Storage Gen2的新连接以及增强与Amazon S3存储的连接。

历史总是相似的,这种技术之间的激励竞争,最终受益的必然还是客户!

 

 类似资料: