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