首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >火花:理解分区-核心

火花:理解分区-核心
EN

Stack Overflow用户
提问于 2017-10-28 16:38:31
回答 1查看 3.5K关注 0票数 5

我想了解星火中的分区。我在windows 10的本地模式下运行星火。我的笔记本电脑有2个物理核和4个逻辑核。

术语:对我来说,火花中的核心=线程。所以星火的核心不同于物理的核心,对吗?火花核心是与任务相关的,对吗?如果是这样的话,因为您需要一个分区的线程,如果我的sparksql dataframe有4个分区,那么它需要4个线程,对吗?

如果我有4个逻辑核,这是否意味着我只能在我的笔记本电脑上同时运行4个并发线程?火花里的4号?

3/设置分区数:如何选择我的dataframe的分区数,以便进一步的转换和操作尽可能快地运行?-Should它有4个分区,因为我的笔记本电脑有4个逻辑核?-Is与物理核或逻辑核相关的分区数?-In火花文档,它写成每个CPU需要2-3个任务。由于我有两个物理coresn,那么分区的nb应该等于4还是6?

(我知道分区的数量不会对本地模式产生太大影响,但这只是为了理解)

EN

回答 1

Stack Overflow用户

发布于 2017-10-28 23:32:42

  1. 没有“火花核心”这样的东西。如果您指的是像--executor-cores这样的选项,那么是的,这是指每个执行器将并发运行多少个任务。
  2. 您可以将并发任务的数量设置为任何您想要的,但超过您可能不会给予和优势的逻辑核的数量。
  3. 要使用的分区数量与情况有关。在不知道数据或转换的情况下,很难给出一个数字。典型的建议是在整个核的倍数以下使用。例如,如果你有16个核心,也许47,79,127和类似的16倍以下的数字是很好的使用。这样做的原因是您希望确保所有内核都工作(尽可能少的时间,您有资源空闲,等待其他人完成)。但是,您可以留出一些额外的时间来进行推测性的执行(如果同一个任务运行得很慢,它可能会决定运行两次,以查看它是否会在第二次尝试中运行得更快)。

选择这个号码是一种尝试和错误,不过,利用spark作业服务器来监视您的任务的运行方式。每个记录的任务很少,这意味着您可能应该增加分区的数量,另一方面,每个分区只有几个记录也是不好的,在这些情况下,您应该尝试减少分区。

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

https://stackoverflow.com/questions/46992060

复制
相关文章

相似问题

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