向Google Dataproc要求适当的集群规范来处理我们的数据

时间:2018-09-30 15:40:07

标签: python pyspark google-cloud-platform google-cloud-dataproc

我正在尝试处理Kaggle竞赛的一些大数据。

要处理的数据量约为80Gb,具有20亿行x 6列。

数据已放入Google Cloud Storage中,并试图通过Google Datalab进行处理,但是由于数据太大,我们遇到了错误消息。

因此,我们正在尝试将Pyspark与Google Dataproc系统配合使用。

关于此,我有两个问题:

1)此选项足够吗?

  • 1个主节点实例:n1-highmem-4(vCPU:4,RAM:26GB)

  • 10个工作节点实例:n1-highmem-4(vCPU:4,RAM:26GB)

2)是否需要Google Compute Engine处理Google Dataproc集群系统?如果是这样,在这种情况下哪个合适?

感谢您阅读本文,我将等待您的回答:)

谢谢!

1 个答案:

答案 0 :(得分:2)

因此,我首先要尝试解决Compute Engine与Dataproc的问题,然后着手确定集群的大小。

Compute Engine是Google的IaaS产品,它基本上是启动虚拟机的服务。 Google Dataproc使用Google Compute Engine启动虚拟机,这些虚拟机将充当群集中的节点/主节点。而且,Dataproc已经在节点上安装并配置了几项东西,因此您不必照顾它。如果节点上需要更多东西,可以使用的Google maintains a set of scripts在群集上安装其他依赖项。因此,回答您的问题就需要Google Compute Engine,因为如果没有它,您将无法启动集群。而且,如果您已经准备好使用PySpark,那么Dataproc是正确的选择。

关于大小,这实际上取决于您正在运行的分析类型以及数据是否均匀分布。如果您的热键/分片的数据大于单个节点的内存,则需要增加节点大小。如果计算占用大量CPU,则添加内核。 Google Dataproc的好处是,您可以在90秒内启动集群,然后在大约同一时间将其拆除。这应该使您可以进行很多实验!

希望这会有所帮助!