Apache spark 如何更改pyspark中并行任务的数量

Apache spark 如何更改pyspark中并行任务的数量,apache-spark,pyspark,Apache Spark,Pyspark,如何更改pyspark中并行任务的数量 我的意思是如何更改在我的电脑上运行的虚拟地图的数量。实际上,我想通过地图功能的数量来绘制加速图表 示例代码: words=sc.parallelize([“scala”、“java”、“hadoop”])\ .map(lambda单词:(单词,1))\ .还原基(λa,b:a+b) 如果你理解我的目的,但我问错了,如果你能改正,我将不胜感激 感谢这个玩具示例,并行任务的数量取决于: 输入rdd的分区数-由spark.default.parallelis

如何更改pyspark中并行任务的数量

我的意思是如何更改在我的电脑上运行的虚拟地图的数量。实际上,我想通过地图功能的数量来绘制加速图表

示例代码:

words=sc.parallelize([“scala”、“java”、“hadoop”])\
.map(lambda单词:(单词,1))\
.还原基(λa,b:a+b)
如果你理解我的目的,但我问错了,如果你能改正,我将不胜感激


感谢这个玩具示例,并行任务的数量取决于:

  • 输入
    rdd
    的分区数-由
    spark.default.parallelism
    设置(如果未另行配置)
  • 分配给
    local
    的线程数(可能会被上述值取代)
  • 系统的物理和基于权限的功能
  • 数据集的统计特性
然而,Spark并不是一个轻量级的并行化——为此,我们有低开销的替代方案,如
线程化
多处理
,在这些基础上构建的更高级别组件(如
joblib
RxPy
)和本机扩展(通过线程来摆脱GIL)


Spark本身是重量级的,有着巨大的协调和通信开销,而且当它仅限于单个节点时,除了测试之外,几乎没有任何理由。实际上,

是在您的PC上(本地执行)还是在集群中?可以说,前者没有什么特别的意义……是的,我的意思是本地处决,这没有多大意义;一般来说,如果你要在一台机器上工作,你绝对没有理由使用Spark(除了用于演示目的的玩具示例,也就是说,像你这样的问题没有实际用途);从最后一个环节来看:“Spark并不专注于并行计算。并行处理与其说是主要目标,不如说是特定解决方案的副作用。Spark首先分布,其次是并行。主要的一点是通过向外扩展,使处理时间随数据量的增加而保持不变,而不是加速现有的计算。”我恳请您编辑您的答案,包括上述报价。。。