簡體   English   中英

如何決定spark中10億行的執行者數量

[英]how to decide number of executors for 1 billion rows in spark

我們有一個包含 13.55 億行的表。 該表有 20 列。

我們想將此表與另一個具有更多或更少相同行數的表連接起來。

如何確定spark.conf.set("spark.sql.shuffle.partitions",?)的數量

如何確定執行者的數量及其資源分配細節?

如何找到這 13.55 億行將在 memory 中占用的存儲量?

就像@samkart 所說,您必須嘗試找出最佳參數,因為它取決於數據的大小和性質。 火花調整指南會很有幫助。

以下是您可能需要調整的一些內容:

  1. spark.executor.cores默認為 1,但您應該增加它以提高並行性。 經驗法則是將其設置為 5。
  2. spark.files.maxPartitionBytes確定讀取時每個分區的數據量,從而確定分區的初始數量。 您可以根據數據大小進行調整。 HDFS 中的默認值為 128 MB 塊。
  3. spark.sql.shuffle.partitions默認為 200,但根據數據大小和內核數量進行調整。 這個博客會很有幫助。

暫無
暫無

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

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