Was ist der Unterschied zwischen spark.sql.shuffle.partitions und spark.default.parallelism?

8

Was ist der Unterschied zwischen spark.sql.shuffle.partitions und spark.default.parallelism ?

Ich habe versucht, beide in SparkSQL zu setzen, aber die Aufgabennummer der zweiten Stufe ist immer 200.

    
Edison 16.08.2017, 02:22
quelle

1 Antwort

7

Aus der Antwort hier konfiguriert spark.sql.shuffle.partitions die Anzahl der Partitionen, die wann verwendet werden Mischen von Daten für Joins oder Aggregationen.

spark.default.parallelism ist die Standardanzahl von Partitionen in RDD s, die von Transformationen wie join , reduceByKey und parallelize zurückgegeben werden, wenn sie nicht explizit vom Benutzer festgelegt wurden. Beachten Sie, dass spark.default.parallelism anscheinend nur für rohe RDD funktioniert und bei der Arbeit mit Datenrahmen ignoriert wird.

Wenn es sich bei der von Ihnen ausgeführten Aufgabe nicht um eine Verknüpfung oder Aggregation handelt und Sie mit Datenrahmen arbeiten, hat das Festlegen dieser Daten keine Auswirkungen. Sie können jedoch die Anzahl der Partitionen selbst festlegen, indem Sie df.repartition(numOfPartitions) aufrufen (vergessen Sie nicht, sie in Ihrem Code einer neuen val zuzuweisen).

Um die Einstellungen in Ihrem Code zu ändern, können Sie einfach Folgendes tun:

%Vor%

Alternativ können Sie die Änderung vornehmen, wenn Sie den Job an einen Cluster mit spark-submit :

übergeben %Vor%     
Shaido 16.08.2017 03:16
quelle