Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/cmake/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python 为什么spark内容默认并行度与vCPU的数量不同?_Python_Apache Spark_Google Cloud Platform_Pyspark_Google Cloud Dataproc - Fatal编程技术网

Python 为什么spark内容默认并行度与vCPU的数量不同?

Python 为什么spark内容默认并行度与vCPU的数量不同?,python,apache-spark,google-cloud-platform,pyspark,google-cloud-dataproc,Python,Apache Spark,Google Cloud Platform,Pyspark,Google Cloud Dataproc,我在Google云平台Dataproc中创建了一个集群,代码片段如下: gcloud dataproc clusters create $SOLO \ --project $PROJ \ --bucket $STORAGE \ --region $REGION \ --image-version 1.4-ubuntu18 --single-node \ --master-machine-type n1-standard-8 \ --master-b

我在Google云平台Dataproc中创建了一个集群,代码片段如下:

gcloud dataproc clusters create $SOLO \
    --project $PROJ \
    --bucket $STORAGE \
    --region $REGION \
    --image-version 1.4-ubuntu18 --single-node \
    --master-machine-type n1-standard-8 \
    --master-boot-disk-type pd-ssd --master-boot-disk-size 100 \
    --initialization-actions gs://goog-dataproc-initialization-actions-$REGION/python/pip-install.sh \
从中可以看出,
n1-standard-8
具有8个vCPU

我有一个PySpark脚本,其中包含以下代码:

import pyspark
sc = pyspark.SparkContext.getOrCreate()
print(sc.defaultParallelism)
当我将PySpark脚本提交到集群时,作业日志显示Spark内容的默认并行度为2


为什么
sc.defaultParallelism
返回2而不是8?

根据Spark文档,此参数通常仅在上下文中有意义。即使在这种情况下,也取决于它正在执行的操作类型,例如减少/加入/并行化,并且不总是重新运行本地计算机上的内核数

根据Spark文档,此参数通常仅在上下文中有意义。即使在这种情况下,也取决于它正在执行的操作类型,例如减少/加入/并行化,并且不总是重新运行本地计算机上的内核数

劫持Henry的答案,并基于我对并行计算的一点了解
n1-standard-8
是您可以拥有的最大值,除非作业调度器允许从可用资源池中动态分配(而不是增加)资源给您的作业。有些作业所需的资源可能少于最初引用的资源,因此分配的资源可能大于1到小于8。

劫持Henry的答案并基于我对并行计算的一点了解
n1-standard-8
是最大值,除非作业调度程序允许动态分配(而不是增加)从可用资源池中将资源分配给作业。有些工作可能需要少于最初报价的工作,因此分配的工作从1到8不等