我正在尝试处理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集群系统?如果是这样,在这种情况下哪个合适?
感谢您阅读本文,我将等待您的回答:)
谢谢!
答案 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秒内启动集群,然后在大约同一时间将其拆除。这应该使您可以进行很多实验!
希望这会有所帮助!