GCP - GKE与Dataproc的火花

use*_*837 2 google-cloud-platform google-kubernetes-engine pyspark google-cloud-dataproc

我们的组织最近将其基础架构从aws迁移到了谷歌云计算,我认为数据集群是运行现有火花作业的一个很好的解决方案.但是当谈到定价时,我也意识到我可以启动一个google kubernetes引擎集群并在其中安装spark来运行spark应用程序.

现在我的问题是,如何"在gke上运行spark"并使用dataproc比较?在自动扩展,定价和基础设施方面,哪一个是最佳选择.我已经阅读了关于gke和dataproc的googles文档,但是在使用GKE或dataproc优于另一个的优点和缺点方面还不够.

任何专家意见都会非常有帮助.

提前致谢.

skj*_*ini 5

SparkP on DataProc经过验证,并且已经在许多组织中使用,虽然它没有完全管理,但您可以通过GCP api自动化集群创建和拆除,提交作业等,但它仍然是您必须管理的另一个堆栈.

Spark上的GKE是新的东西,Spark开始添加2.4以上的功能以支持Kubernetes,甚至谷歌更新了Kubernetes几天的预览,Link

如果我必须在Prod环境中运行Jobs,我会选择DataProc,否则你可以尝试使用Docker并看看它是如何运行的,但我认为它需要更多的时间来保持稳定,从纯粹的成本角度来看它会使用Docker更便宜,因为您可以与其他服务共享资源.


Rag*_*ash 5

在上面的答案中添加我的两分钱。

  • 我更喜欢 DataProc,因为它可以管理并支持开箱即用的 Spark。没有任何眩晕。更重要的是,成本优化。您可能并不总是需要集群,您可以使用 dataproc 拥有临时集群。
  • 使用 GKE,我需要显式丢弃集群并在必要时重新创建。需要额外的照顾。
  • 我找不到 GCP 在数据沿袭方面提供的任何直接服务。在这种情况下,我可能会在由我自己管理的 Spark 安装上使用 Apache Atlas 和 Spark-Atlas-Connector。在这种情况下,在 GKE 上运行 Spark 并且由我自己掌控所有控制权将是一个令人信服的选择。