如何在pyspark上使用多核(来自python脚本)

如何在pyspark上使用多核(来自python脚本),python,pyspark,Python,Pyspark,我正在使用pyspark对拼花地板文件进行一些sql查询。我需要使用多个内核,但我没有找到任何有用的信息。这是我正在使用的代码。正如您所见,我将核心数设置为3,但当我运行脚本时,我可以在htop上看到只有1个核心在使用。我怎样才能解决这个问题 from pyspark.sql import SparkSession from pyspark.sql.types import * spark = SparkSession \ .builder \ .appName(

我正在使用pyspark对拼花地板文件进行一些sql查询。我需要使用多个内核,但我没有找到任何有用的信息。这是我正在使用的代码。正如您所见,我将核心数设置为3,但当我运行脚本时,我可以在htop上看到只有1个核心在使用。我怎样才能解决这个问题

from pyspark.sql import SparkSession
from pyspark.sql.types import *
spark = SparkSession \
        .builder \
        .appName("Python Spark SQL tests") \
        .config("spark.executor.cores", 3) \
        .getOrCreate()
# Check conf
for item in spark.sparkContext.getConf().getAll():
    print(item)
# Open file and create dataframe
filename = "gs://path/to/file.parquet"
df = spark.read.parquet(filename)
# Create table
df.createOrReplaceTempView("myTable")
# Query
sqlDF = spark.sql("SELECT * FROM myTable")
sqlDF.show()

据我所知,您使用spark standalone(仅在您的机器中,而不是群集中)

尝试:


*
本地[*]
中表示使用所有可用的内核。根据我的理解,您可以使用spark standalone(仅在您的机器中,而不是群集中),给出一个类似于
local[3]

的数字

尝试:


*
本地[*]
中表示使用所有可用的内核。您可以给出一个数字,如
local[3]

谢谢,但它始终只使用1个核心。其他想法?谢谢,但它一直只使用1个核心。其他想法?
from pyspark import sql


spark = (
    sql.SparkSession.builder.master("local[*]")
    .config("spark.executor.memory", "32g")
    .config("spark.driver.memory", "32g")

    ...

    .getOrCreate()
)