首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Spark: master local[*]比master local慢得多

Spark: master local[*]比master local慢得多
EN

Stack Overflow用户
提问于 2016-11-09 05:21:34
回答 1查看 1.1K关注 0票数 0

我和r3.8xlarge (32 cores, 244G RAM)建立了一个EC2

在我的Spark应用程序中,我使用Spark-CSV从DataBrick读取了两个csv文件,每个csv文件大约有500万行。我正在unionAll两个DataFrames,并在组合的DataFrame上运行一个dropDuplicates

但当我看到的时候,

代码语言:javascript
复制
 val conf = new SparkConf()
            .setMaster("local[32]")
            .setAppName("Raw Ingestion On Apache Spark")
            .set("spark.sql.shuffle.partitions", "32")

Spark比.setMaster("local")

32个内核不是更快吗?

EN

回答 1

Stack Overflow用户

发布于 2016-11-09 12:51:26

spark不是Windows操作系统,它从一开始就会以最大可能的容量工作,你需要根据自己的使用情况对其进行调整。

现在,您只是直截了当地说要在一个具有32个内核的节点上启动和处理我的东西。这不是Spark的优势所在。它是一个分布式系统,应该在多节点集群上运行,这是它工作得最好的地方。

原因很简单,即使你使用的是32核,IO问题又如何呢?因为你现在使用的是let's,如果它运行了30个执行器,那么就是32个进程从同一磁盘读取数据。

你指定了32核,那么执行器内存呢?两台机器有没有相同的内存,你测试的地方。

你现在已经明确指定你想要32个分区,如果数据非常小,这是很大的开销。理想情况下,你不应该指定分区,直到你明确知道你在做什么,或者你正在做重复性的任务,并且你知道数据总是完全相似的。

如果你调整正确,32核的spark确实会比基本上在一个核上运行的"local“运行得更快。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/40496626

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档