簡體   English   中英

什么決定了Spark中操作的映射器和化簡器的數量

[英]What decides number of mappers and reducers of an operation in Spark

我正在閱讀https://0x0fff.com/spark-architecture-shuffle/ ,這些文章討論了根據映射器和化簡器任務的數量生成的文件數。

但是我不確定是什么決定了映射器和化簡器任務的數量。

能否請你幫忙。

這取決於您的數據如何分區。 在Spark SQL中,當您從源中讀取數據時,分區數將取決於數據集的大小,輸入文件數以及可用的核心數。 Spark將確定應創建的分區數量,因此在工作的第一階段,這將是“映射器任務”的數量。 然后,如果執行引起隨機播放的轉換(如groupBy,join,dropDuplicates等),則默認情況下,“ reducers任務”的數量將為200,因為Spark將創建200個分區。 您可以通過以下設置進行更改:

sparkSession.conf.set("spark.sql.shuffle.partitions", n)

其中, n是您要使用的分區數(每次混洗后要擁有的任務數)。 是指向Spark文檔中提到此設置的配置選項的鏈接。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM