GCP - 在 GKE 与 Dataproc 上产生火花

GCP - spark on GKE vs Dataproc

我们的组织最近将其基础架构从 aws 迁移到 google 云计算,我认为 dataproc 集群是 运行 整合我们现有 spark 作业的一个很好的解决方案。但是当谈到比较价格时,我也意识到我可以启动一个 google kubernetes 引擎集群并在其中安装 spark 到 运行 上的 spark 应用程序。

现在我的问题是,如何比较“运行ning spark on gke”和使用 dataproc?就自动缩放、定价和基础设施而言,哪一个是最佳选择。我已经阅读了 googles 关于 gke 和 dataproc 的文档,但没有足够的资料来确定使用 GKE 或 dataproc 相对于其他的优缺点。

任何专家意见都将非常有帮助。

提前致谢。

DataProc 上的 Spark 已被证明并在许多组织中使用,尽管它没有得到完全管理,您可以通过 GCP 自动创建和拆除集群、提交作业等 api,但它仍然是您的另一个堆栈必须管理。

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

如果我必须 运行 Prod 环境中的工作,我会选择 DataProc 否则你可以自己试验 Docker 看看效果如何,但我认为它需要更多的时间来稳定,从纯粹的成本角度来看,Docker 会更便宜,因为您可以与其他服务共享资源。

将我的两分钱加到上面的答案中。

  • 我更喜欢 DataProc,因为它受管理并支持 Spark 盒子。没有杂音。更重要的是,成本优化。你不可以 一直需要集群,你可以拥有临时集群 数据处理。
  • 使用 GKE,我需要显式丢弃集群并在以下情况下重新创建 必要的。需要额外注意。
  • 我找不到 GCP 提供的任何直接数据服务 血统。在那种情况下,我可能会使用 Apache Atlas 由我自己管理的 Spark 安装上的 Spark-Atlas-Connector。在 在这种情况下,运行 GKE 上的 Spark,所有控件都位于 我自己会做出一个令人信服的选择。