我在 pypsark shell(mac,8 核)中運行了以下行。
import pandas as pd
df = spark.createDataFrame(pd.DataFrame(dict(a = list(range(1000)))
df.show()
我想計算我的作業節點(并查看每個節點的核心數),所以我在
驅動程式中的內核可以完成作業嗎?如果是這樣,是否有 7 個內核在作業,而 1 個內核是為“驅動程式”功能保留的?為什么不自動創建作業節點?
uj5u.com熱心網友回復:
為您提供的硬體找出完美的集群并不是由 Spark 決定的(盡管它是高度特定于任務的,無論如何什么是完美的基礎設施)
實際上,如果您在 YARN 主機上運行,??您描述的行為是 Spark 設定這樣的基礎設施的默認行為(請參閱檔案中的 spark.executor.cores 選項)。
要修改它,您必須在運行時添加一些選項,pyspark-shell或者在代碼中使用,例如:
conf = spark.sparkContext._conf.setAll([('spark.executor.memory', '4g'), ('spark.executor.cores', '4'), ('spark.cores.max', '4'), ('spark.driver.memory','4g')])
spark.sparkContext.stop()
spark = SparkSession.builder.config(conf=conf).getOrCreate()
更多資訊可以在這里和這里找到。
轉載請註明出處,本文鏈接:https://www.uj5u.com/shujuku/472155.html
