我们的组织最近将其基础架构从AWS迁移到了Google云计算,而且我认为dataproc集群是运行我们现有的Spark作业的不错的解决方案。但是,在比较价格时,我还意识到我可以启动google kubernetes引擎集群并在其中安装spark以在其上运行spark应用程序。
现在我的问题是,“运行gke上的火花”与使用dataproc相比如何?就自动扩展,定价和基础架构而言,哪一个是最佳选择。我已经阅读了有关gke和dataproc的google文档,但是对于使用GKE或dataproc相对于其他方法的优缺点,还没有足够的把握。
任何专家的意见都会非常有帮助。
先谢谢了。
答案 0 :(得分:5)
DataProc上的Spark已被证明并且已在许多组织中使用,尽管它没有得到完全管理,但是您可以通过GCP api自动创建和删除集群,提交作业等,但是仍然需要管理另一个堆栈。
GKE上的Spark是新事物,Spark从2.4开始就添加了功能以支持Kubernetes,甚至Google都在Link的几天前更新了Kubernetes的预览版。
如果我不得不在Prod环境中运行Jobs,我只会使用DataProc,否则您可以尝试使用Docker并观察其运行情况,但是我认为,仅出于成本考虑,它就需要更多的时间来保持稳定角度来看,使用Docker会更便宜,因为您可以与其他服务共享资源。
答案 1 :(得分:2)
在上述答案中加两分。